2010-06-23 178 views
0

我正在使用MVVM和WPF。WPF ListView行背景顏色

VM包含 -

  1. 任務(其中任務是具有公共性質任務id,TaskTime和TaskDetails類)
  2. CurrentTaskId

我可以設置背景色的可觀察集合每行使用下列方法之一

  1. 使用ListView ItemContainerSty樂觸發或
  2. 使用的ListView ItemContainerStyleSelector

現在我想將所有的行LightBlue並且是Task.TaskId == VM.CurrentTaskId條件的背景色。我如何實現這一目標?

我沒有使用數據觸發的風格,因爲

<DataTrigger Binding="{Binding TaskId}" Value="1001"> 

是有效的,但使用值綁定是無效的,對

<DataTrigger Binding="{Binding TaskId}" Value="{Binding CurrentTaskId}"> 

我能線的東西來實現它使用StyleSelector爲特定行實現交替行顏色和特定顏色,但又如何找到CurrentTaskId?

另外,如何在每次CurrentTaskId更改時實現更改背景顏色的功能?

回答

0

此使用IMultiValueConverterMultiBinding

1

你應該嘗試使用您的數據觸發多結合解決。

看到這個問題的類似解決方案 - WPF DataTrigger - Setting ListBoxItem IsSelected

+0

是的,這正是我解決它的方法。看到我上面的答案。感謝您的鏈接+1 – byte 2010-06-24 09:01:25