2013年01月24日

WPFサンプル:INotifyPropertyChanged を実装し、オブジェクトの変更を反映させる

   このエントリーをはてなブックマークに追加 Clip to Evernote
まずは、サンプルプログラムのスクリーンショットを載せます。

WPFINotifyPropertyChanged2

WPFINotifyPropertyChanged1

WPFINotifyPropertyChanged3

変更ボタンを押すと、2つのTextBoxの値(会社名とURL)が変わります。
その後確認ボタンを押すと変更後の会社名とURLがダイアログボックスの表示されます。

このC#プログラムのコードビハインドは以下の通りです。


buttonChange_Clickでは、GUIのコントロールにはアクセスしていません。
モデル側のCompanyオブジェクトの内容を変更すると、その変更がGUI側に
通知され、TextBoxの表示が変わります。

このシリーズ(WPFサンプル)でこれまで示したやり方では、バインディングモードをTowWayに
設定しても、バインディングソースのオブジェクト(Companyオブジェクト)が変更されても、
その内容がターゲット(TextBox)に反映されることはありませんでした。
これを反映させるには、ソースのクラスにINotifyPropertyChangedインターフェースを実装する必要があります。
ここでは、 NameとWebSiteの2つのプロパティを持ったCompanyクラスに、INotifyPropertyChangedを
実装しています。C#のコードを示します。


このCompanyクラスのオブジェクトをバインドするサンプルのXAMLを示します。





 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52300866