LoginSignup
5
7

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-02-09

目的

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

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7