<ListBox ItemsSource="{Binding Customers}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="1" x:Name="BackgroundGrid">
<TextBlock Text="{Binding CustomerName}" />
<TextBlock Text="{Binding CustomerId}" />
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding CustomerId}" Value="9-3453"><Setter TargetName="BackgroundGrid" Property="Background" Value="Red"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在上面的代码中,我需要提供基于属性值的DataTrigger值,而不是硬代码值。
提前致谢, 迪内希
答案 0 :(得分:0)
根据属性CustomerNumber提供您的DataTrigger值。然后添加另一个绑定属性,如下所示:
public bool CustomerIdMatchs
{
get{
return CustomerNumber==CustomerId;
}
}
然后绑定CustomerIdMatchs而不是CustomerId,如下所示:
<DataTrigger Binding="{Binding CustomerIdMatchs}" Value="true">
<Setter TargetName="BackgroundGrid" Property="Background" Value="Red"/>
</DataTrigger>