2013-12-11 35 views
0

首先,我將描述什麼,我試圖做的,萬一我要對這個錯誤的方法:時指定項目射擊一個DataTrigger是一個集合中

我有對象的未來列表超出我的數據層。我想通過一個「驗證」階級通過這些(在引號,因爲它不是真正做驗證,它有確定項目需要用戶採取行動,從而影響到顯示器業務規則)。在這個驗證邏輯之外,我得到了對象中違反業務規則的字段列表。然後我需要在WPF GridView中以不同的方式顯示這些字段。

本來,業務規則在沿Field1Field1Valid的線條組成的圖案被硬編碼到對象,與具有對象字段與Valid變種訪問時做了檢查,這工作了最初的有限的情況下, 。然後該視圖有一個DataTriger,它在Field1Valid字段上起作用以應用顯示樣式。

現在,隨着需求的變化,規則內的值可能會不同,例如:對於一個設置,如果值大於100,可能是「無效」,但另一個設置可能有「如果值大於> 90「。因此,爲了適應這種情況而不會讓我的數據對象變得太髒,這些規則會被抽出到一個不同的類中,這個類可以作爲訪問者。然後,我打算在任返回字典中的數據對象映射到無效字段的列表,表示爲只是字符串,或具有包含字段的列表中的數據對象內的列表中,也可以作爲字符串。

TL;博士:

所以,在此基礎上,我試圖找出如何把一個DataTrigger,將火如果看到錯誤的集合中的值「字段1」,無論是在物體本身上或沿着它的一側。

如果有這樣整體的一個更好的方法,我接受這一點。

回答

0

也許,在DataTrigger使用綁定轉換器會去了解這一點的最好辦法。 您可以傳遞收集並在轉換器中進行所有檢查;根據從轉換器返回的值應用樣式(true爲有效,false爲無效)。 DataTrigger是安靜的flexbile,可能對於更復雜的場景,您可以使用DataTrigger的MuultiBinding。

相關問題