从您的模型自动创建数据网格
使用数据源将模板拖放到 WPF 控件上是一种快速启动和运行的方法!
首先这样做:在您的项目中创建一个名为 Models 的文件夹,然后首先使用 Entity Framework DB 或手动编写要显示的模型。
或者参见下面关于对象绑定的讨论......
在同一个文件夹中创建一个虚拟类,它是 IEnumerable 的属性,如下所示。
public IEnumerable<MyClassModel> MyCollection { get; set; }
从那里转到 Main Visual Studio 菜单,查看/其他 Windows/数据源并单击该链接。
单击 Object 并找到上面刚刚创建的 MyCollection 属性。
现在在 WPF 中打开一个用户控件或窗口,但保持数据源工具箱处于打开状态。
它应该默认为 DataGrid,但您可以右键单击数据源并将其更改为详细信息、数据网格或选择它所代表的类的各个属性。
只需将该数据源拖到 XAML 的网格区域。右键单击您看到的新内容,然后单击重置以将内容设置为整个窗口的大小。
完成此操作后,您将在该窗口、用户控件等的窗口加载事件中将代码注入到视图后面的代码中,如下所示。
// Do not load your data at design time.
if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
{
//Load your data here and assign the result to the CollectionViewSource.
System.Windows.Data.CollectionViewSource myCollectionViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["Resource Key for CollectionViewSource"];
myCollectionViewSource.Source = your data
// }
返回到 XAML 并查找在将属性拖动到 XAML 时也插入的 CollectionViewSource KEY 属性。它看起来像这样:
在后面的代码中使用 Key 名称,然后将 CVS“绑定”到您的数据源,它是 MyClassModel 类型的可枚举,它可以驻留在视图模型中,也可以在您选择的视图后面的代码中。
如果您只使用 CollectionViewSource 作为网格的数据上下文,则不需要为任何底层集合实现 INPC!每次更新源时,CVS 都会自动更新视图!一旦掌握了这一点,您就可以在 2 分钟内创建数据的工作视图原型!忘记需要太长时间的手动编码 XAML。
对象绑定
使用返回如下内容的静态方法创建一个静态类:
使用数据源向导时选择“对象”选项。
单击确定,您应该会看到如下内容:
您刚刚将所有属性映射到数据源定义中。