Help us understand the problem. What is going on with this article?

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

目的

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

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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした