Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What is going on with this article?
@diskn

.NET Core 3.1 と VSCode でHello, World! する WPF アプリを作る

More than 1 year has passed since last update.

目的

Windows デスクトップアプリを作りたいが、Visual Studio 2019 をインストールしたくない。
Visual Studio Code でとりあえず Hello,World してみる。

環境

Windows 10 バージョン 1809
Visual Studio Code 1.42.0
.NET Core 3.1.101

空のアプリ作成

Visual Studio Code の Terminal でdotnet new wpfします。
そのままdotnet runすると空のフォームが表示されます。

フォームにコントロールを配置する

MainWindow.xaml を開きます。
Grid タグに<TextBlock x:Name="Text1"/>を追加します。

MainWindow.xaml
    <Grid>
        <TextBlock x:Name="Text1"/>
    </Grid>

コントロールに文字列をセットする

MainWindow.xaml.cs を開きます。
配置したText1に文字列"Hello, World!"をセットします。
例では中央寄せして、フォントサイズを 64 にしています。

MainWindow.xaml.cs
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Text1.Text = "Hello, World!";
            Text1.HorizontalAlignment = HorizontalAlignment.Center;
            Text1.FontSize = 64;
        }
    }

キャプチャ.PNG

終了ボタンの追加

画面にボタンコントロールを追加して、イベントを作成します。

MainWindow.xaml
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <TextBlock x:Name="Text1" Grid.Row="0" Text = "Hello, World!" FontSize = "64" HorizontalAlignment="Center" VerticalAlignment="Center"/>
        <Button x:Name="Button1" Grid.Row="1" Content="終了" Click="Button1_Click" Margin="20"/>        
    </Grid>
MainWindow.xaml.cs
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Button1_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }
    }

キャプチャ2.PNG

ダサい・・・

まとめ

.NET Core と Visual Studio Code でWindows デスクトップアプリが開発できることが分かりました。
簡単なツールを作る程度なら、Visual Studio 2019 など統合開発環境は不要だと思います。
画面レイアウトを作成するのは辛いので XAML Studio を試してみようかな。

XAML Studio
https://www.microsoft.com/ja-jp/p/xaml-studio/9ntls214tkmq

6
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
diskn

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
6
Help us understand the problem. What is going on with this article?