2017年06月09日(金) [長年日記]
■ [c#] WPFでHello World
VisualStudio 2015を使ってWPFアプリケーションを作ろうとしている。難しいのでメモしていきたい。
まずはHello World。出来上がりはこれだ。
MainWindow.xaml
<Window x:Class="Hello.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Hello" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Window.DataContext> <local:MainWindowViewModel/> </Window.DataContext> <Grid> <TextBlock x:Name="textBlock" Text="{Binding Text}"/> </Grid> </Window>
- MVVMにしたいのでViewModelクラスを参照する。ViewとViewModelの結合をどう実現するのがいいのかまだよくわからないが、XAML上で指定するのが一番わかりやすい気がするので <Window.DataContext> を使ってViewModelクラスを指定した。
- ウィンドウにはテキスト表示用にTextBlockを置いた。
- TextBlockのTextプロパティにViewModelとのバインディングを記述した。「{Binding Text}」と書くと、DataContextに指定したクラスのインスタンスのTextプロパティの値が設定される。
MainWindowViewModel.cs
namespace Hello { class MainWindowViewModel { public string Text => "Hello World"; } }
- ViewModelクラスは今の所何も継承しなくていいはず。Textプロパティを定義した。
上記2つのファイルを編集・作成すればアプリケーションが完成する。