我尝试使用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>
除了那些按钮之外,这几乎是完美的......
答案 0 :(得分:1)
这些是行标题,而不是我认为的按钮。 Datagrid具有显示/隐藏行和列标题的属性:
<Setter Property="HeadersVisibility" Value="Column" />
实际上,如果要保留列标题,则值必须为列。