2010-08-03 81 views
3

我试图改变某些项目的背景,符合条件的组合框WPF:在某些组合框项目更改背景

<ComboBox ItemsSource="{Binding Path=Model.Names, Mode=OneWay}" SelectedValue="{Binding Path=SelectedCompanyName}" DisplayMemberPath="Alias" /> 

的事情是,“别名”被保存在两个不同的地方(在公司和按顺序),如果他们不匹配,我们想强调这一点。

我想要做这样的事情:

<Style>... 
    <DataTrigger Binding="{Binding Path=isMismatch}" Value="True> 
     <Setter Property="Background" Value="Red" />... 

任何帮助表示赞赏。

回答

4

您需要创建自定义的数据模板是这样的:

<ComboBox Width="300" Height="30" ItemsSource="{Binding Path=Model.Names, Mode=OneWay}"> 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <Grid x:Name="templateGrid"> 
       <TextBox Text="{Binding Name}" /> 
      </Grid> 
      <DataTemplate.Triggers> 
       <DataTrigger Binding="{Binding isMismatch}" Value="True"> 
        <Setter TargetName="templateGrid" 
          Property="Background" Value="Red" />   
       </DataTrigger> 
      </DataTemplate.Triggers> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 
+0

作品谢谢。新问题是Alias和IsMismatch不在同一个地方...... :) – debe 2010-08-03 15:35:58

相关问题