2011-03-31 106 views
3

我正在使用MVVM模式,並有一個場景,我需要隱藏基於某些功能邏輯的控件。WPF DataTrigger與.Net屬性

我有兩個選項來處理它。

  1. 我可以創建視圖模型的布爾屬性,並與相應的控制處理能見度結合這和該屬性獲得基於集合的一些功能邏輯。

  2. 我可以在控件上使用DataTrigger來處理在這裏使用相同功能邏輯的XAML本身的可見性。 (此功能邏輯很容易在XAML訪問)

的問題 - 這是處理它的WPF性能和可維護性等方面的正確方法是什麼?

+1

好問題。 :)我有興趣找到答案。我會傾向於使用選項1,因爲這是我認爲視圖模型的重點所在。 :) – Russell 2011-03-31 07:20:44

+0

@Russell:我同意你的意見。無需維護2個觸發器。你只需要維護1個物業。 =) – Willem 2011-03-31 07:26:55

+0

可能的重複[是否更好使用DataTrigger而不是數據綁定?](http://stackoverflow.com/questions/4306983/is-it-better-to-use-datatrigger-instead-of-a-數據綁定) – Snowbear 2011-03-31 08:14:20

回答

2

我會說選項1:假設你想要捕捉一個Silverlight視圖。然後,您不必在Silverlight視圖中創建觸發器。

因此,根據MVVM,第一種選擇將是最好的模式。