WPF_C#_Xaml_基礎_DataContextを設定する方法
WPF:DataContextを設定する方法
■プロパティに設定する方法
・csファイルのコンストラクタにおいて、DataContextプロパティを直接設定する方法。
ViewModelを生成するだけでなく、初期設定等を行う場合
XAMLにDataContextを記載しないので、XAML上でDataContextに何が設定されているかあらかじめ知っている必要があることになる。
MainView.xaml.cs
namespace
WpfApplication.View
{
using
System.Windows;
public
partial
class
MainView : Window
{
public
MainView()
{
this
.InitializeComponent();
this
.DataContext =
new
WpfApplication.ViewModel.MainViewModel();
}
}
}
■XAMLに記載する方法
XAML上で設定する方法。
初期化時にあれこれはできないが、XAMLとコードがキレイに分離できている。
MainView.xaml
<
Window
x:Class
=
"WpfApplication.View.MainView"
xmlns:local
=
"clr-namespace:WpfApplication.ViewModel"
Title
=
"MainWindow"
Height
=
"125"
Width
=
"210"
>
<
Window.DataContext
>
<local
:MainViewModel
/>
</
Window.DataContext
>
<
Grid
>
</
Grid
>
</
Window
>
1.Windowsタグ内にDataContextで使用するクラスのネームスペースを定義する。
<Window
xmlns:local="clr-namespace:ここにネームスペース"
>
</Window>
2.Windowsタグ内の
xmlns:local="clr-namespace:ここにネームスペース"のnamespaceに含まれるクラスはビルドしておく。
3.Windows.DataContextタグ内にDataContextのクラスを指定する。
<Window
xmlns:vm="clr-namespace:ここにネームスペース"
>
<Window.DataContext>
<local:ここにクラス名 />
</Window.DataContext>
</Window>