我有带有DeviceName的组合框。我在数据库中的DataGrid中有TextBlock和文本
<DataGrid>
...
<DataGridTemplateColumn Header="Device" Width="230">
...
<Border BorderBrush="#FF757576" BorderThickness="0, 0, 0, 1">
<StackPanel x:Name="StackPanelDevice" Orientation="Horizontal" >
<TextBlock Text="{Binding Path=DeviceName}" HorizontalAlignment="Left" Width="200"/>
<TextBlock Text="{Binding Path=Count}" HorizontalAlignment="Right" Width="30" />
</StackPanel>
</Border>
...
</DataGridTemplateColumn>
</DataGrid>
如果TextBlock中的文本等于ComboBox中的文本,如何更改背景颜色TextBlock 当我在ComboBox中选择文本时,我过滤了集合并将其添加到Datagrid。如果TextBlock中的文本= ComboBox中的文本,我想更改颜色TextBlock
答案 0 :(得分:0)
我是这样做的:
<Border BorderBrush="#FF757576" BorderThickness="0, 0, 0, 1">
<StackPanel x:Name="StackPanelDevice" Orientation="Horizontal" >
<TextBlock Text="{Binding Path=DeviceName}" HorizontalAlignment="Left" Width="200" >
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource multiValueEqualityConverter}">
<Binding ElementName="ComboBoxModels" Path="SelectedValue"/>
<Binding Path="DeviceName"/>
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="TextBlock.Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock Text="{Binding Path=Count}" HorizontalAlignment="Right" Width="30" />
</StackPanel>
</Border>