2013-07-30 70 views
0

全部 -附加的行爲模式與觸發器在WPF的DataGrid

我想明白的時候我會用附加的行爲模式(通過RegisterAttached創建一個靜態類和註冊DP性能)與房產和/或數據觸發一個數據網格。特別是在一個WPF數據網格的場景尋找既的常見用例

我的理解是,當我想要做的與數據的東西(在後面的代碼,並保持MVVM完好) - 我會用附加的行爲模式(默認命令不可用,因此擴展了類似於擴展方法的功能,如雙擊,多行選擇等),而當我想在網格中直觀地設置某些內容時(例如,使用觸發器和樣式/模板)某些值會在單元格上閃爍某種顏色等)

我能想到的一個 - 如果我需要在數據網格中多選3行然後單擊刪除按鈕 - 假設這是一個完美的候選人附加行爲。

請注意 - 我不要求附加屬性和/或觸發器的定義。我非常瞭解他們。尋找更多關於真實世界使用情況的指導。

專家PLZ可以提供一些見解

感謝

+1

我有少數情況下,我會在虛擬機中選擇加工的造型和狀態之外,但是我不想因爲教科書做得更好編寫用例彙編。我還記得,選擇觸發器與附加行爲的決定是不對稱的。 –

回答

1

你在正確的軌道上,但附加的行爲也可以純粹是爲了視覺效果使用(從而對視圖模型沒有影響)。

我認爲這涉及到需要什麼情況。例如,在我目前的應用程序中,附加行爲是可取的,因爲我們既定位WPF和Silverlight(並且觸發器在SL中不存在)。

如果有一個觸發器,做你需要什麼,去了,但如果你需要擴展行爲,然後附加屬性是這樣做的一個很好的方式。