我正在做一个WPF(MVVM)仪表板,显然是DevEx控制(尚待决定),在开始之前我想澄清几个问题。
Q1:用于开发仪表板屏幕,网格显示一些数据网格选择的图形,本机WPF数据网格或任何其他第三个prty,如DevExpress控件?
Q2:如何使datagrid刷新数据库端的数据更改。我将从模型中获取带有datareader的数据并将其绑定到网格。我不希望用户担心通过单击按钮或其他控件事件来刷新屏幕,对数据所做的任何更改都应刷新到网格而无需用户干预。其他外部系统对数据库所做的更改,而不是此应用程序的GUI所做的更改。
提前致谢
答案 0 :(得分:0)
在您的模型中公开委托或事件,当值发生变化时,您的模型将会知道。所以,在这种情况下,你可以简单地调用该委托或事件
在ViewModel中,使用私有方法并将该方法挂钩到委托或模型事件。
当Model调用委托或事件时,将调用挂钩的viewModel中的那个方法,在该方法中,您可以再次查询数据库并将Binded属性更新为View,这将自动刷新视图(UI)