如何在 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]”**。
选择 Grid 后,单击“属性”窗口中**“DataContext”属性旁的“新建”**按钮。
在**“选择对象”对话框中,确保清除“显示所有程序集”,并在 projectName 命名空间下选择“ShoppingCart”,然后单击“确定”**。
下图显示选择了**“ShoppingCart”的“选择对象”**对话框。
在**“工具箱”**中,双击某个 TextBlock 控件,将其添加到美工板中。
选择该 TextBlock 控件后,单击“属性”窗口中“公共”下**“文本”**属性右侧的属性标记。 (属性标记看上去像是一个小方框。)
在随后出现的菜单中单击**“创建数据绑定”**。
以**“数据上下文”作为绑定类型(这是“绑定类型”列表中的默认值),选择“路径”框中 的“ItemCount”属性,然后单击“确定”**。
下图显示选择了**“ItemCount”属性的“创建数据绑定”**对话框。
按 F5 启动应用程序。
该 TextBlock 控件应显示默认值 0 作为文本。