Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WPF中的正确绑定方式_C#_Wpf_Datagrid - Fatal编程技术网

C#WPF中的正确绑定方式

C#WPF中的正确绑定方式,c#,wpf,datagrid,C#,Wpf,Datagrid,我正在实现一个在UI中有多个数据网格的程序。2个网格将完全相似,只是它们用于不同的集合。1个网格将不同于2个网格。我想知道什么是实现这一点的最佳方法 在进行实验时,我只得到了3个常规数据网格,每个数据网格绑定到一个ObservableCollection。我最终为每个网格实现了3个不同的事件处理程序,用于我需要的任何事件(即PreviewDragEnter)。显然,这个实现非常混乱,因为我将所有代码都放在1.cs文件中 现在我在想这是否可能。创建一个类MyClass,该类具有可观察集合的属性,并

我正在实现一个在UI中有多个数据网格的程序。2个网格将完全相似,只是它们用于不同的集合。1个网格将不同于2个网格。我想知道什么是实现这一点的最佳方法

在进行实验时,我只得到了3个常规数据网格,每个数据网格绑定到一个ObservableCollection。我最终为每个网格实现了3个不同的事件处理程序,用于我需要的任何事件(即PreviewDragEnter)。显然,这个实现非常混乱,因为我将所有代码都放在1.cs文件中

现在我在想这是否可能。创建一个类MyClass,该类具有可观察集合的属性,并实现我需要的事件处理程序,并使用它创建datagrid 1和2使用的对象

从MainWindow.xaml,我将能够添加2个数据网格。让一个datagrid绑定到MyClassInstance1,另一个绑定到MyClassInstance2?然后,对于datagrid中的事件,我能说MyClassInstance2.EventHandler吗?我走对了吗


也欢迎其他建议。

WPF应用程序通常使用MVVM模式实现。这就是模型-视图-模型,其中模型由数据组成(通常在数据库或XML中,但模型是什么取决于您),视图是描述窗口的XAML,视图模型是包含业务逻辑的对象集合


网上有一些文档和教程,介绍如何在MVVM中实现应用程序。搜索“MVVM模式”以找到一些。

我已经阅读了MVVM,我会看到创建viewmodel类和绑定的简单示例。我想我的问题是能够创建一个具有属性和命令/事件的类,并将2个数据网格绑定到该类的2个实例?