2010-06-24 64 views
0

IValueConverter的推薦用途是什麼?我已經將它用於諸如將布爾屬性轉換爲Visibility屬性之類的東西,但是我想知道應該採用多遠?它應該僅用於將常見類型的表示更改爲UI特定類型(例如,bool爲可見性)。您應該如何使用IValueConverter?

例如,如果我有一個屬性在我的課,僱員,如:

public class EmployeeViewModel : INotifyPropertyChanged 
{ 
    public int? EmployeeID 
    { 
    get 
    { 
     return employeeID; 
    } 
    set 
    { 
     employeeID = value; 
     RaisePropertyChanged("EmployeeID"); 
    } 
    } 
} 

,我想顯示該員工,如細節名稱,位置,但要獲得這些我需要擊中數據庫,這將這是錯誤的把它放到價值轉換器?將值存儲在ViewModel並綁定到它們會更好嗎?

回答

2

將值放入ViewModel並執行直接綁定可能會更好。雖然您可以在ValueConverter中執行此操作,但轉換器中的範圍非常有限,可能會限制您的功能。

我對自己的一般規則是儘量讓我所有的ValueConverters在兩種類型之間保持簡單的轉換,即Bool to Visibility或者Color到Brush。這樣,我不會在ValueConverters中包含太多邏輯,並且保持一切更容易維護。

相關問題