MVVM将DataGrid(WPF工具包)绑定到DataTable

MVVM将DataGrid(WPF工具包)绑定到DataTable,mvvm,datatable,wpftoolkit,Mvvm,Datatable,Wpftoolkit,我在我的项目中使用MVVM,设置为DataTable的绑定第一次可以正常工作,但是在我更新DataTable上的数据之后,它似乎对DataGrid没有影响。有人知道如何解决这个问题吗?如果没有更多的信息和一些代码(我还没有使用WPF工具包网格-我使用基础设施网格),很难说。有几件事: 您是否(通过实现INotifyPropertyChanged接口)将MVVM类中的属性更改通知UI 您说“在更新了DataTable上的数据之后”。如何更新?通过网格,还是通过其他方式?您的MVVM类是否被正确地

我在我的项目中使用MVVM,设置为DataTable的绑定第一次可以正常工作,但是在我更新DataTable上的数据之后,它似乎对DataGrid没有影响。有人知道如何解决这个问题吗?

如果没有更多的信息和一些代码(我还没有使用WPF工具包网格-我使用基础设施网格),很难说。有几件事:

  • 您是否(通过实现INotifyPropertyChanged接口)将MVVM类中的属性更改通知UI

  • 您说“在更新了DataTable上的数据之后”。如何更新?通过网格,还是通过其他方式?您的MVVM类是否被正确地“刷新”(并通知datagrid/UI数据已更改)

我在这方面运气不太好。有时,如果我以编程方式向集合添加元素,Infragistics网格不会更新。我几乎不得不重新阅读整个内容,以更新网格。我还没有找到原因。也许你正在处理一个类似的“异常”


抱歉,不一定有用,但可能足以为您指出正确的方向。。。没有更多的信息就帮不了什么忙。

1。不,我没有实现INotifyPropertyChanged接口。我将(明天)设法实施它。2.在绑定到UI控件的ViewModel上按命令更新。我还没有尝试过这种方法(按命令),但看起来只是UI没有被告知基础数据已更改。你可以在后台做你想做的事情,但是如果UI没有“获取备忘录”,它就不会更新。我发现了问题,忘记启动PropertyChanged,但我不知道如何用DataTable实现它。我认为你不能直接在DataTable对象上使用它(我不使用DataTable)创建一个具有与相应列对应的属性的类,然后从DataTable中构建该类的集合可能会起作用(类中的属性将使用OnPropertyChanged通知UI。)我的意思是不能直接在上面使用它。。。哦!