【问题标题】:Removing box / border around selected cell contents in WPF DataGrid删除 WPF DataGrid 中选定单元格内容周围的框/边框
【发布时间】:2016-05-20 18:53:23
【问题描述】:

尝试重新设置 WPF 数据网格的样式。几乎我需要的地方,除了一个特点:选择一行时,所有单元格的内容都被白色边框包围。

我不知道如何摆脱这种情况。目前,我的样式如下所示:

<Style TargetType="{x:Type DataGridRow}">
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="BorderBrush" Value="Transparent" />
    <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="#3CACDC" />
            <Setter Property="Foreground" Value="White" />
        </Trigger>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="#90C8E0" />
        </Trigger>
    </Style.Triggers>
</Style>

Plus DataGridCell 具有几乎相同的样式集。

尚不清楚问题How to suppress DataGrid cell selection border? 是否提出相同的问题,但将FocusVisualStyle 设置为Null 的公认解决方案不会删除边框。然而,它确实改变了风格:

我怎样才能越过那个边界?

【问题讨论】:

  • 除了你上面贴的还有其他款式吗?都是与 DataGrid 相关的 xaml 吗?我无法重现这种行为。所选行以蓝色突出显示,所选单元格有黑色边框。
  • 您找到解决方案了吗?我也有同样的问题。正如您在评论中提到的,已接受的答案不起作用。

标签: wpf xaml datagrid


【解决方案1】:

我认为您可以尝试设置 DataGridCell 样式

   <DataGrid.CellStyle>
    <Style TargetType="DataGridCell">
        <Setter Property="BorderThickness" Value="0"/>          
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
    </Style>
  </DataGrid.CellStyle>

【讨论】:

  • 对不起,问题中的错字。我已经在 Cell 和 Row 上尝试过。
  • 请尝试在数据网格中使用 SelectionUnit="FullRow"
猜你喜欢
  • 1970-01-01
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多