2012-08-16 47 views
0

假设我有一个网格控件,无论是普通的WPF网格还是DevExpress网格或其他的,这是一个数据绑定到财务状况的集合,刷新每个设置的时间间隔(比如说,2-3秒)。我对Prism和WPF一般还是比较陌生的WPF Prism MVVM - 在视图模型规则的视图上突出显示网格单元格?

因为视图模型不应该对它所绑定的视图做出任何假设,因此即使假设有一个网格,我如何实现多个规则,我想要一个单元格根据基于同一行中其他值的某些标准在网格中突出显示? (例如,如果x> a + b的行)

或者也许更复杂的东西就像调用视图模型上的某种计算方法来获得所需的标准? (否则我只能使用第一个示例中的数据触发器)

我将如何设计此功能并从视图模型中公开此行为,以及如何在视图上设置绑定表达式,评估和更新自己每个勾号? (不减速)

+0

你可以使用这两个示例的数据触发器......您可以公开您的行可以绑定到的属性,该属性可以调用方法或运行其他属性的计算。然后你可以在这个属性上调用PropertyChanged,你的行将根据你的视图逻辑进行更新......至于“不减速”,这样做取决于正在运行的计算 – Thelonias 2012-08-16 19:56:12

+0

伟大的触发器将是在基础对象上键入的视图资源中设置为样式,对吧?如果网格绑定到一个ObservableCollection 底层对象没有实现INotifyPropertyChanged,会发生什么? – blue18hutthutt 2012-08-16 20:17:14

+0

1)样式将在您的GridRow上键入(如果这是您想要更改其属性的控件)以及2)为实现INotifyPropertyChanged的T编写包装并将您的ObservableCollection绑定到该新类可能是明智的。 – Thelonias 2012-08-16 20:27:35

回答

1

对于这两个示例,您都可以使用数据触发器......您可以公开您的行可以绑定到的属性,该属性可以调用方法或运行其他属性的计算。然后你可以在这个属性上调用PropertyChanged,你的行将根据你的视图逻辑进行更新......至于“不减速”,这样做取决于正在运行的计算

相关问题