我正在实现一个在UI中有多个DataGrids的程序。 2个网格将完全相似,除非它们用于不同的集合。 1个网格将与2不同。我想知道实现这个目标的最佳方法是什么。
在试验它时,我最终只有3个常规DataGrids,每个DataGrids绑定到一个ObservableCollection。我最终为每个网格实现了3个不同的事件处理程序,用于我需要的任何事件(即PreviewDragEnter)。显然,这个实现非常混乱,因为我有1个.cs文件中的所有代码。
现在我在想这是否可行。创建一个MyClass类,它具有observable集合的属性并实现我需要的事件处理程序,并使用它来创建datagrid 1和2使用的对象。
从我的MainWindow.xaml,我将能够添加2个datagrids。有1个datagrid绑定到MyClassInstance1而另一个绑定到MyClassInstance2?然后,对于datagrid中的事件,我能说MyClassInstance2.EventHandler吗?我在这里走在正确的轨道上吗?
欢迎其他建议。
答案 0 :(得分:1)
WPF应用程序通常使用MVVM模式实现。这是模型 - 视图 - 视图模型,其中模型由数据组成(通常在数据库或XML中,但由模型决定),视图是描述窗口的XAML,视图模型是包含业务逻辑的对象的集合。
有文件& Web上的教程描述了如何在MVVM中实现应用程序。搜索“MVVM模式”以找到一些。