在 .NET Framework WPF 应用程序中显示相关数据

注释

此类 DataSet 和相关类是 2000 年代初的旧版 .NET Framework 技术,使应用程序能够在应用与数据库断开连接时处理内存中的数据。 这些技术对于使用户能够修改数据并将更改保留回数据库的应用特别有用。 尽管数据集是经过证实的成功技术,但新 .NET 应用程序的建议方法是使用 Entity Framework Core。 Entity Framework 提供了一种更自然的方式来将表格数据用作对象模型,并且具有更简单的编程接口。

在某些应用程序中,你可能希望处理来自多个表或实体的数据,这些表或实体在父子关系中彼此相关。 例如,你可能想要显示一个网格,该网格显示 Customers 表中的客户。 当用户选择特定客户时,另一个网格会显示相关 Orders 表中该客户的订单。

可以通过将项从 “数据源 ”窗口拖动到 WPF 设计器来创建显示相关数据的数据绑定控件。

  1. “数据 ”菜单上,单击“ 显示数据源 ”以打开 “数据源” 窗口。

  2. 单击“ 添加新数据源”,并完成 “数据源配置 ”向导。

  3. 打开 WPF 设计器,并确保设计器包含一个容器,该容器是 数据源 窗口中项的有效放置目标。

    有关有效拖放目标的详细信息,请参阅将 WPF 控件绑定到 Visual Studio 内的数据

  4. “数据源 ”窗口中,展开表示关系中父表或对象的节点。 父表或对象位于一对多关系的“一”端。

  5. 将父节点(或父节点中的任何单个项)从 数据源 窗口拖到设计器中的有效放置目标上。

    Visual Studio 生成 XAML,用于为拖动的每个项创建新的数据绑定控件。 XAML 还会将适用于父表或对象的新 CollectionViewSource 添加到拖放目标的资源。 对于某些数据源,Visual Studio 还会生成代码以将数据加载到父表或对象中。 有关详细信息,请参阅将 WPF 控件绑定到 Visual Studio 中的数据

  6. “数据源 ”窗口中,找到相关的子表或对象。 相关子表和对象显示为父节点数据列表底部的可展开节点。

  7. 将子节点(或子节点中的任何单个项)从 数据源 窗口拖到设计器中的有效放置目标上。

    Visual Studio 生成 XAML,用于为拖动的每个项创建新的数据绑定控件。 XAML 还会将适用于子表或对象的新 CollectionViewSource 添加到拖放目标的资源。 此新 CollectionViewSource 绑定到刚拖动到设计器的父表或对象的属性。 对于某些数据源,Visual Studio 还会生成代码以将数据加载到子表或对象中。

    下图演示了“数据源”窗口中数据集中“客户”表的相关“订单”表。

    显示关系的数据源窗口