NuGetパッケージマネージャでインストールしたPrism.Coreに含まれるBindableBase を継承したViewModelクラスを作成する。
using Prism.Mvvm;
namespace AddressBook
{
internal class MainWindowViewModel : BindableBase
{
private string _name = string.Empty;
public string Name
{
get
{
return _name;
}
set
{
SetProperty(ref _name, value);
}
}
}
}
xamlのテキストボックスにBindingタグを追加する。
<TextBox x:Name="textName" Grid.Column="1" Grid.Row="1" Margin="4, 4, 4, 4">
<Binding Path="Name" UpdateSourceTrigger="PropertyChanged"/>
</TextBox>
コンストラクタでViewModelのインスタンスを生成してDataContext プロパティに設定する。
using System.Windows;
namespace AddressBook
{
public partial class MainWindow : Window
{
private MainWindowViewModel ViewModel { get; set; }
public MainWindow()
{
InitializeComponent();
ViewModel = new MainWindowViewModel();
DataContext = ViewModel;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
ViewModel.Name = "山田太郎";
}
}
}
以降、ViewModel.【プロパティ名】で書き込むとTextBoxに反映される。入力された値はViewModel.【プロパティ名】で読み取ると取得することができる。ラクチン。
コメント