WPF DataGrid 隐藏选择按钮
WPF DataGrid hide selection buttons
我正在尝试使用 WPF DataGrid 呈现完全静态、平面和只读的柱状视图。
我也尝试过 ListView
和 GridView
,但它提供的样式选项较少。
这是我目前得到的:
不幸的是,这在列和每一行(灰色部分)中仍然有一些奇怪的按钮。
我已将 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。
我正在尝试使用 WPF DataGrid 呈现完全静态、平面和只读的柱状视图。
我也尝试过 ListView
和 GridView
,但它提供的样式选项较少。
这是我目前得到的:
不幸的是,这在列和每一行(灰色部分)中仍然有一些奇怪的按钮。
我已将 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。