2012-08-16 45 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,你的行將根據你的視圖邏輯進行更新......至於「不減速」,這樣做取決於正在運行的計算

相關問題