2013年01月18日

[C# WPF]Binding DataContextを設定する

前回の記事で解説しましたが
DataContextにはBindingソースプロパティを検索する基準になるオブジェクトを指定するのでした。
このDataContextについてもう少し見ていきます。

サンプルは前回のものをそのまま使用します。
xamlコードは前回のままで結構です。

csコードを以下のように変更します。

public partial class MainWindow : Window
{
public string Message { get; set; }

public TestData Data { get; set; }

public MainWindow()
{
InitializeComponent();

Data = new TestData();

this.DataContext = Data;
}

private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("MainWindow.Massage=" + Message + "\nTestData.Message=" + Data.Message);
}
}

public class TestData
{
public string Message { get; set; }

public TestData()
{
}
}


Messageプロパティを持つTestDataクラスを定義して
MainWindowクラスのメンバにTestDataクラスオブジェクトを持ちます。
そしてMainWindowのDataContextにはこのTestDataオブジェクトを設定します。
こうすることによりTextBoxのTextプロパティにBindするMessageプロパティは
TestDataオブジェクトのメンバが使用されます。

では実行してみましょう
1.jpg

TextBoxに入力した値はTestDataオブジェクトのMessageプロパティに設定されます。
MainWindowオブジェクトのMessageプロパティはデフォルト値(空)のままです。

BindingソースがDataContextに指定したクラスから設定されるという事がわかって頂けたと思います。


posted by cw at 16:00| Comment(0) | Binding | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。