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つのファイルを編集・作成すればアプリケーションが完成する。
[ツッコミを入れる]