Silverlight-data-binding
Silverlight-データバインディング
データバインディングは、Silverlightアプリケーションのメカニズムであり、Windowsランタイムアプリが部分クラスを使用してデータを表示および操作するシンプルで簡単な方法を提供します。 データの管理は、このメカニズムでデータが表示される方法から完全に分離されています。 データバインディングにより、UI要素とユーザーインターフェイス上のデータオブジェクト間のデータフローが可能になります。 バインディングが確立され、データまたはビジネスモデルが変更されると、更新がUI要素に自動的に反映され、その逆も同様です。 標準のデータソースではなく、ページ上の別の要素にバインドすることもできます。
データバインディングには、次の2つのタイプがあります-
- 一方向のデータバインディング
- 双方向のデータバインディング
一方向データバインディング
一方向のデータバインディングでは、データはソース(データを保持するオブジェクト)からターゲット(データを表示するオブジェクト)にバインドされます。
一方向のデータバインディングの簡単な例を見てみましょう。
以下は、2つのラベル、2つのテキストボックス、1つのボタンがいくつかのプロパティで作成されたXAMLコードです。
私たちは次のことを観察します-
- 両方のテキストボックスのテキストプロパティは、「 Name 」および「 Age 」にバインドされます。これらは、以下に示す Person クラスのクラス変数です。
- Person クラスには、 Name と Age という2つの変数のみがあり、そのオブジェクトは MainPage クラスで初期化されます。
- XAMLコードでは、プロパティ Name およびAgeにバインドしていますが、どのプロパティがオブジェクトに属するかは選択していません。
- 簡単な方法は、以下に示すように、 MainPage コンストラクターのC#コードでプロパティをバインドしている DataContext にオブジェクトを割り当てることです。
このアプリケーションを実行すると、Webページで、そのPersonオブジェクトのNameとAgeに正常にバインドされたことをすぐに確認できます。
- 表示*ボタンを押すと、メッセージボックスに名前と年齢が表示されます。
上記のダイアログボックスで*名前*と*年齢*を変更してみましょう。
ここで、*表示*ボタンをクリックすると、同じメッセージが再び表示されます。
これは、 data-binding モードがXAMLコードでonewayに設定されているためです。 更新されたメッセージを表示するには、双方向のデータバインディングを理解する必要があります。
双方向のデータバインディング
- 双方向バインディング*では、ユーザーはユーザーインターフェイスを介してデータを変更し、そのデータをソースで更新できます。 ユーザーがビューを見ているときにソースが変更された場合、ビューを更新する必要があります。
同じ例を見てみましょうが、以下に示すように、XAMLコードでバインディングモードを一方向から双方向に変更するだけです。
このアプリケーションを再度実行すると、同じ出力が表示されます。
上記のダイアログボックスで*名前*と*年齢*を変更してみましょう。
ここで、*表示*ボタンをクリックすると、更新されたメッセージが表示されます。