演练:在 XAML 设计器中绑定数据
在 XAML 设计器中,可使用美工板和“属性”窗口设置数据绑定属性。 本演练中的示例演示如何将数据绑定到控件。 具体而言,本演练展示如何创建具有名为 ItemCount
的 DependencyProperty 的简单购物车类,然后将 ItemCount
属性绑定到 TextBlock 控件的 Text 属性。
若要创建类用作数据源,请执行以下操作
在“文件”菜单上,选择“新建”>“项目” 。
在“新建项目”对话框中,选择“Visual C#”或“Visual Basic”节点,展开“Windows 桌面”节点,然后选择“WPF 应用程序”模板。
将项目命名为“BindingTest”,然后选择“确定”按钮。
打开 MainWindow.xaml.cs(或 MainWindow.xaml.vb)文件并添加下面的代码 。 在 C# 中,将这段代码添加到
BindingTest
命名空间中(在文件中的最后一个右括号之前)。 在 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)); }
这段代码使用 PropertyMetadata 对象,将默认项计数的值设置为 0。
在“文件”菜单上,选择“生成”>“生成解决方案”。
若要将 ItemCount 属性绑定到 TextBlock 控件,请执行以下操作
在解决方案资源管理器中,打开 MainWindow.xaml 的快捷菜单,然后选择“视图设计器” 。
在工具箱中,选择网格控件,并将其添加到窗体。
选定
Grid
后,在属性窗口中,选择“DataContext”属性旁边的“新建”按钮。在“选择对象”对话框中,确保清除“显示所有程序集”复选框,选择“BindingTest”命名空间下的“ShoppingCart”,然后选择“确定”按钮。
下图显示了“ShoppingCart”处于选中状态的“选择对象”对话框。
在“工具箱”中,选择一个
TextBlock
控件将其添加到窗体。选定
TextBlock
控件后,在“属性”窗口中,选择“文本”属性右侧的属性标记,然后选择“创建数据绑定”。 (属性标记看上去像是一个小方框。)在“创建数据绑定”对话框的“路径”框中,选择“ItemCount: (int32)”属性,然后选择“确定”按钮。
下图显示选定“ItemCount”属性的“创建数据绑定”对话框。
按 F5 运行该应用。
该
TextBlock
控件应显示默认值 0 作为文本。
提示
有关数据绑定的详细信息,请参阅将控件绑定到 Visual Studio 中的数据。