Windows10-development-data-binding
Windows 10開発-データバインディング
データバインディングはXAMLアプリケーションのメカニズムであり、Windowsランタイムアプリが部分クラスを使用してデータを表示および操作するシンプルで簡単な方法を提供します。 データの管理は、このメカニズムでのデータの表示方法から完全に分離されています。
データバインディングにより、ユーザーインターフェイス上のUI要素とデータオブジェクト間のデータフローが可能になります。 バインディングが確立され、データまたはビジネスモデルが変更されると、更新が自動的にUI要素に反映され、その逆も同様です。 標準のデータソースではなく、ページ上の別の要素にバインドすることもできます。 データバインディングはすることができます-
- 一方向のデータバインディング
- 双方向のデータバインディング
- 要素のバインド
一方向データバインディング
一方向バインディングでは、データはソース(データを保持するオブジェクト)からターゲット(データを表示するオブジェクト)にバインドされます。
一方向のデータバインディングの簡単な例を見てみましょう。 以下に、いくつかのプロパティを使用して4つのテキストブロックが作成されるXAMLコードを示します。
2つのテキストブロックのTextプロパティは*” Name” および” Title” *に静的に設定され、テキストブロックの他の2つのTextプロパティはEmployeeクラスのクラス変数である“ Name”および“ Title”にバインドされます以下に示すように。
- Employeeクラス*には、変数 Name および Title と、* employeeオブジェクト*が初期化され、その従業員オブジェクトを返す静的メソッドが1つあります。 したがって、プロパティName、Titleにバインドしていますが、プロパティが属するオブジェクトはまだ選択していません。 簡単な方法は、オブジェクトを DataContext に割り当てることです。このプロパティのプロパティは MainPage コンストラクターでバインドします。
このアプリケーションを実行すると、 MainWindow で、そのEmployeeオブジェクトの名前と役職に正常にバインドされていることがすぐにわかります。
双方向のデータバインディング
双方向バインディングでは、ユーザーはユーザーインターフェイスを介してデータを変更し、そのデータをソースで更新できます。 たとえば、ユーザーがビューを見ているときにソースが変更された場合、ビューを更新する必要があります。
2つのラベル、2つのテキストボックス、1つのボタンがいくつかのプロパティとイベントとともに作成される、以下の例を見てみましょう。
私たちは次を観察することができます-
- 両方のテキストボックスのテキストプロパティは、以下に示すように* Personクラス*のクラス変数である "Name" および "Age" にバインドします。
- * Personクラス*には、NameとAgeという2つの変数があり、そのオブジェクトは MainWindow クラスで初期化されます。
- XAMLコードでは、プロパティにバインドしています- Name および Age ですが、プロパティが属するオブジェクトを選択していません。
- より簡単な方法は、オブジェクトを DataContext に割り当てることです。このオブジェクトのプロパティは、以下の MainWindowconstructor に示すように、C#コードでバインドします。
上記のコードをコンパイルして実行すると、次のウィンドウが表示されます。 [表示]ボタンをクリックします。
名前と年齢を変更し、[表示]ボタンをもう一度クリックします。
クリックボタン*「表示」では、 *TextBlock のデータを表示するためにテキストボックスのテキストは使用されず、クラス変数が使用されていることがわかります。
理解を深めるために、両方のケースで上記のコードを実行することをお勧めします。
要素のバインド
標準のデータソースではなく、ページ上の別の要素にバインドすることもできます。 SliderとRectangleが作成され、スライダーを使用して長方形の幅と高さがバインドされる ElementBinding というアプリケーションを作成してみましょう。 XAMLのコードを以下に示します。
上記のコードをコンパイルして実行すると、次のウィンドウが表示されます。
以下に示すように、スライダーを使用して、長方形のサイズを変更できます。