在没有转换器的情况下,基于TextBox值为DataGrid中的单元格着色

时间:2013-10-17 13:42:24

标签: wpf vb.net datagrid

我有一个TextBox和一个数据网格。我需要从de datagrid里面的'Omschrijving'列改变单元格的backgorund颜色,它具有与TextBox相似的值。

我无法使用任何自定义转换器类来解决此问题。因此,我需要使用XAML代码或仅在页面类中解决此问题。

示例代码:

<TextBox x:Name="txtTrefwoord"/>

<DataGrid x:Name="gridFiche" ItemsSource="{Binding}">
  <DataGrid.Columns>
    <DataGridTextColumn Binding="{Binding Omschrijving}" Header="Omschrijving" />
  </DataGrid.Columns>                    
</DataGrid>

屏幕截图示例

enter image description here

1 个答案:

答案 0 :(得分:-1)

如果根据文本确定颜色的基本原理很简单(就像你的例子 - 两种文本),你可以使用一个触发器,如果​​文本是“...”,则将背景设置为“.. 。“

<DataGridTextColumn Binding="{Binding Omschrijving}" Header="Omschrijving" >
    <DataGridTextColumn.CellStyle>
        <Style TargetType="DataGridCell">
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=txtTrefwoord, Path=Text}" Value="{Binding RelativeSource={RelativeSource Self}, Path=Text }" >
                    <Setter Property="Background" Value="Red" />
                </DataTrigger><!--not sure that's the path-->
            </Style.Triggers>
        </Style>
   </DataGridTextColumn.CellStyle>
</DataGridTextColumn>

这样的事情。从头上写下来,不经检查。

相关问题