WPF DataGrid 隐藏选择按钮

WPF DataGrid hide selection buttons

我正在尝试使用 WPF DataGrid 呈现完全静态、平面和只读的柱状视图。

我也尝试过 ListViewGridView,但它提供的样式选项较少。

这是我目前得到的:

不幸的是,这在列和每一行(灰色部分)中仍然有一些奇怪的按钮。

我已将 IsHitTestVisible 设置为 false 以防止用户点击它们,但理想情况下我希望它们不存在(或至少不可见)。

这是我正在应用的 XAML 样式:

<Style x:Key="{x:Type DataGridColumnHeader}" TargetType="{x:Type DataGridColumnHeader}">
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="FontWeight" Value="SemiBold" />
</Style>
<Style x:Key="{x:Type DataGrid}" TargetType="{x:Type DataGrid}">
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="BorderThickness" Value="0" />
    <Setter Property="CanUserAddRows" Value="False" />
    <Setter Property="CanUserDeleteRows" Value="False" />
    <Setter Property="CanUserReorderColumns" Value="False" />
    <Setter Property="CanUserResizeColumns" Value="False" />
    <Setter Property="CanUserResizeRows" Value="False" />
    <Setter Property="CanUserSortColumns" Value="False" />
    <Setter Property="AutoGenerateColumns" Value="False" />
    <Setter Property="Margin" Value="5" />
    <Setter Property="GridLinesVisibility" Value="None" />
    <Setter Property="IsReadOnly" Value="True" />
    <Setter Property="SelectionUnit" Value="FullRow" />
    <Setter Property="IsHitTestVisible" Value="False" />
</Style>

除了那些按钮,这几乎是完美的...

那些是 headers 行,我认为不是按钮。 Datagrid 有 属性 到 show/hide 行和列 headers:

<Setter Property="HeadersVisibility" Value="Column" />

实际上值需要是列,如果你想保留列 headers。