2010-11-29 37 views

回答

7

我可以告訴你我的經驗。

我使用數據綁定與轉換器以下情況:

  1. Visibility屬性(有內置的WPF轉換器)。
  2. 在Silverlight應用程序中(儘管Microsoft.Expression.Interactions庫中有silverlight兼容的數據觸發器,但它們不如WPF觸發器那麼方便)。
  3. 如果源對象包含許多可能的值。枚舉圖像轉換器,例如,編寫5個if-else子句比5個數據觸發器更容易。

Datatriggers:

  1. 如果我要一次更改多個不同的屬性(背景,知名度,厚度)。
  2. 對於畫筆(使用顏色的十六進制數字在C#代碼中創建畫筆並不容易)。
  3. 如果我想應用靜態資源。
  4. 它們可以用於顯示動畫和運行故事板。

有時我更喜歡MVVM方法:我在viewmodel中創建了必要類型的附加屬性,以便它們可以直接綁定而不需要轉換。

+0

我想補充說DataTriggers可以啓動故事板。 – Jens 2011-08-22 14:05:47

+0

@Jens是的,你是對的。雖然數據觸發器中的動畫並不常見。 – vorrtex 2011-08-24 09:45:31

0

簡短的答案取決於。

數據觸發器僅針對單個數據源提供相等操作。

如果您需要參數或多值綁定,您需要使用轉換器。