为了账号安全,请及时绑定邮箱和手机立即绑定

WPF DataGrid 突出显示与所选单元格匹配的列中的所有单元格

WPF DataGrid 突出显示与所选单元格匹配的列中的所有单元格

C#
Qyouu 2021-07-23 17:04:39
我用一个自定义类填充了一个ObservableCollection<>(也尝试了一个List<>)。我已将集合绑定到 DataGrid 并定义了列。现在我想选择一个单元格并突出显示其中具有相同字符串的其他单元格(在同一列中,尽管其他列中的数据永远不会匹配)。<Window.Resources>    <local:CellHighlighterConverter x:Key="cellHighlighterConverter" />    <CollectionViewSource x:Key="ScanCollectionViewSource" CollectionViewType="ListCollectionView" />    <Style x:Key="CenterCell" TargetType="TextBlock">        <Setter Property="TextBlock.TextAlignment" Value="Center" />    </Style>    <Style x:Key="CellPad" TargetType="TextBlock">        <Setter Property="Margin" Value="15,0,15,0" />    </Style>    <Style x:Key="CellHighlighterStyle" TargetType="TextBlock" >        <Setter Property="Background" Value="{Binding IsMatching, NotifyOnSourceUpdated=True, Converter={StaticResource cellHighlighterConverter}}" />        <Setter Property="TextBlock.TextAlignment" Value="Center" />    </Style></Window.Resources><Grid HorizontalAlignment="Center" >    <DataGrid x:Name="scans" DataContext="{StaticResource ScanCollectionViewSource}" ItemsSource="{Binding}" AutoGenerateColumns="False" FontFamily="Lucida Console" Margin="10" MouseUp="scans_MouseUp" >        <DataGrid.Columns>            <DataGridTextColumn Header="Device Name" Binding="{Binding Hostname}" Width="125" />            <DataGridTextColumn Header="Scan Date" Binding="{Binding ScanDate}" Width="75" ElementStyle="{StaticResource CenterCell}" />            <DataGridTextColumn Header="GUID" Binding="{Binding GUID}" Width="300" ElementStyle="{StaticResource CenterCell}" />            <DataGridTextColumn Header="MAC" Binding="{Binding MAC}" Width="105" ElementStyle="{StaticResource CellHighlighterStyle}" />        </DataGrid.Columns>    </DataGrid></Grid>
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 248 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信