2010-08-03 38 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

相關問題