XAML デザイナーでデータをバインドする方法
XAML デザイナーで、アートボードと [プロパティ] ウィンドウを使用してデータ バインディング プロパティを設定できます。このトピックの例では、コントロールにデータをバインドする方法を示します。具体的には、ItemCount という名前の DependencyProperty を持つ簡単なショッピング カート クラスを作成し、ItemCount プロパティを TextBlock コントロールの Text プロパティにバインドします。
データ ソースとして使用するクラスを作成するには
空のアプリケーション テンプレートに、C# または Visual Basic のプロジェクトを生成します。
MainPage.xaml.cs (または MainPage.xaml.vb) を開き、次のコードを追加します。C# では、このコードを projectName 名前空間 (ファイルの最後の閉じかっこの前) に追加します。Visual Basic では、新しいクラスを追加します。
public class ShoppingCart : DependencyObject { public int ItemCount { get { return (int)GetValue(ItemCountProperty); } set { SetValue(ItemCountProperty, value); } } public static readonly DependencyProperty ItemCountProperty = DependencyProperty.Register("ItemCount", typeof(int), typeof(ShoppingCart), new PropertyMetadata(0)); }
Public Class ShoppingCart Inherits DependencyObject Public Shared ReadOnly ItemCountProperty As DependencyProperty = DependencyProperty.Register( "ItemCount", GetType(Integer), GetType(ShoppingCart), New PropertyMetadata(0)) Public Property ItemCount As Integer Get ItemCount = CType(GetValue(ItemCountProperty), Integer) End Get Set(value As Integer) SetValue(ItemCountProperty, value) End Set End Property End Class
このコードでは、PropertyMetadata オブジェクトを使用して、既定の項目数の値を 0 に設定しています。
ヒント
Visual Studio では、ShoppingCart クラス内に propdp を入力し、Tab キーを押すと、依存関係プロパティのスタブ コードを追加できます。
[ビルド]、[ソリューションのビルド] の順にクリックします。
ItemCount プロパティを TextBlock コントロールにバインドするには
MainPage.xaml を右クリックし、[ビュー デザイナー] をクリックします。
[ドキュメント アウトライン] ウィンドウで、[グリッド] と表示されるルートのグリッド パネルを選択します。
Grid を選択して、[プロパティ] ウィンドウの [DataContext] プロパティの横の [新規作成] ボタンをクリックします。
[オブジェクトの選択] ダイアログ ボックスで、[すべてのアセンブリを表示する] がオフであることを確認してから、projectName 名前空間の下の [ShoppingCart] を選択し、[OK] をクリックします。
次の図は、[オブジェクトの選択] を選択した [ShoppingCart] ダイアログ ボックスを示します。
[ツールボックス] で、TextBlock コントロールをダブルクリックしてアートボードに追加します。
TextBlock コントロールを選択し、[プロパティ] ウィンドウの [共通] の下にある [Text] プロパティの右のプロパティ マーカーをクリックします。(プロパティ マーカーは小さいボックスで表示されています。)
表示されるメニューの [データ バインディングの作成] をクリックします。
[バインディングの種類] リストの既定値である [データ コンテキスト] のバインディングの種類で、[パス] ボックスの [ItemCount] プロパティを選択し、[OK] をクリックします。
次の図は、[ItemCount] プロパティを選択した [データ バインディングの作成] ダイアログ ボックスです。
F5 キーを押して、アプリケーションを開始します。
TextBlock コントロールにより、既定値の 0 がテキストとして表示されます。