2011-06-13 39 views
0

我有一個ListBox綁定到ViewModel中的列表。我想根據ViewModel「釘住」具有不同背景色的某些ListBoxItems。 我的視圖模型看起來像這樣,我想突出顯示列表框中的所有PinnedTasks。看起來像TypeConverter是最好的方式,有沒有其他的方法?如何根據ViewModel值同步ListBoxItem(s)的背景顏色?

class ViewModel 
{ 
    public List<Task> Tasks { get; set; }// Bound to ListBox 
    public List<Task> PinnedTasks { get; set; } //These tasks are copy of Tasks, 
    //should be highlighted in ListBox 
} 

回答

1

如果你能以某種方式修改任務類添加pinned屬性,或者創建一個視圖模型對包含pinned屬性Task類,那麼你應該能夠與DataTrigger當完成這個造型/模板化您的任務。

+0

我想到了這一點,但很少猶豫是否要將我的DTO更改爲View,我認爲這是更好的方法,因爲它提供了分離和更清晰的代碼。 – iraSenthil 2011-06-13 14:13:57

+2

然後使用我所說的替代方法 - 爲您的Tasks對象創建一個ViewModel。在我看來,這會保持分離,並且仍然會給你更多更清晰(更清晰)的代碼,而不是試圖對這兩個列表做些什麼。 – Tim 2011-06-13 14:17:06

相關問題