Share via


演练:在 XAML 设计器中绑定数据

在 XAML 设计器中,可使用美工板和“属性”窗口设置数据绑定属性。 本演练中的示例演示如何将数据绑定到控件。 具体而言,本演练展示如何创建具有名为 ItemCountDependencyProperty 的简单购物车类,然后将 ItemCount 属性绑定到 TextBlock 控件的 Text 属性。

若要创建类用作数据源,请执行以下操作

  1. 在“文件”菜单上,选择“新建”>“项目” 。

  2. 在“新建项目”对话框中,选择“Visual C#”或“Visual Basic”节点,展开“Windows 桌面”节点,然后选择“WPF 应用程序”模板

  3. 将项目命名为“BindingTest”,然后选择“确定”按钮

  4. 打开 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。

  5. 在“文件”菜单上,选择“生成”>“生成解决方案”

若要将 ItemCount 属性绑定到 TextBlock 控件,请执行以下操作

  1. 在解决方案资源管理器中,打开 MainWindow.xaml 的快捷菜单,然后选择“视图设计器” 。

  2. 在工具箱中,选择网格控件,并将其添加到窗体。

  3. 选定 Grid 后,在属性窗口中,选择“DataContext”属性旁边的“新建”按钮

  4. 在“选择对象”对话框中,确保清除“显示所有程序集”复选框,选择“BindingTest”命名空间下的“ShoppingCart”,然后选择“确定”按钮

    下图显示了“ShoppingCart”处于选中状态的“选择对象”对话框

    Select Object dialog box

  5. 在“工具箱”中,选择一个 TextBlock 控件将其添加到窗体

  6. 选定 TextBlock 控件后,在“属性”窗口中,选择“文本”属性右侧的属性标记,然后选择“创建数据绑定”。 (属性标记看上去像是一个小方框。)

  7. 在“创建数据绑定”对话框的“路径”框中,选择“ItemCount: (int32)”属性,然后选择“确定”按钮

    下图显示选定“ItemCount”属性的“创建数据绑定”对话框

    Create Data Binding dialog box

  8. F5 运行该应用。

    TextBlock 控件应显示默认值 0 作为文本。

提示

有关数据绑定的详细信息,请参阅将控件绑定到 Visual Studio 中的数据