如何根据WPF

时间:2016-05-19 05:35:27

标签: wpf

<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值,而不是硬代码值。

提前致谢, 迪内希

1 个答案:

答案 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>