可能是一個簡單的但我似乎無法得到它的工作,這裏是列表視圖和綁定的XAML;綁定ListViewItem布爾型背景
<ListView
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
x:Name="lstTrackers"
ItemsSource="{Binding Path=MainWindowViewModel.TrackerCollection}"
HorizontalContentAlignment="Stretch">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=LastTransmitted}" Value="True">
<Setter Property="Background" Value="Green"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=LastTransmitted}" Value="False">
<Setter Property="Background" Value="White"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock
Text="{Binding Path=Description}"
x:Name="listTextClick"
MouseLeftButtonUp="listTextClick_MouseLeftButtonUp"
HorizontalAlignment="Stretch"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
和我試圖綁定它的屬性;
public class TrackerViewModel : ViewModelBase
{
readonly Tracker _tracker;
public TrackerViewModel(Tracker tracker)
{
_tracker = tracker;
}
public bool LastTransmitted
{
get
{
return _tracker.lastTransmitted;
}
set
{
_tracker.lastTransmitted = value;
OnPropertyChanged("LastTransmitted");
}
}
}
然後我只是試圖將布爾值設置爲true,我認爲這會觸發樣式處理;
_trackerViewModel.LastTransmitted = true;
然而,似乎什麼也沒有發生。有什麼簡單而又迫切需要我失蹤?
注意:我已經嘗試將「true」更改爲「True」,只是incase。
編輯1:似乎沒有通知變化,這是非常奇怪的,因爲我確定它是。如果我將觸發器更改爲;
<Style x:Key="listBoxStyle" TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=LastTransmitted}" Value="True">
<Setter Property="Background" Value="Green"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=LastTransmitted}" Value="False">
<Setter Property="Background" Value="Blue" ></Setter>
</DataTrigger>
</Style.Triggers>
<!--<Setter Property="Background" Value="Red"/>-->
</Style>
然後textblocks都是藍色的,如布爾值被設置爲true所示。但是,如果設置爲true,並且通知了屬性,則不會更改。也許這個清單不是很好的清爽?我確定它與ObservableCollection相關聯。編輯2:並在那個筆記,事實證明我使用自定義列表; 「ThreadedBindingList」。它可能不會從OnNotify更新..所以我不得不嘗試解決這個問題。
我希望你能看到我的viewmodel的其餘部分,我字面上每次提高屬性更改。每一次,但這次,XD是多麼愚蠢的錯誤,說我已經添加了屬性發生了變化,而且似乎還沒有發生。 –
仍然沒有用,我很害怕。我試圖將樣式應用於文本塊,應該以不同的方式完成嗎?作爲風格的目標目標ListViewItem –
@ Shane.C我改變了我的答案。看看它。 – Jehof