我想在wpf上创建一个表,每个列标题都有一个圆角,这是我到目前为止所得到的:
正如你所看到的,我有一个不希望的结果所需的结果。 不合需要的是,所有数据网格标题本身(不是列)都获得相同的边框,我需要使其透明,我该怎么做?
这是风格的一部分:
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="SeparatorBrush" Value="Transparent"/>
<Setter Property="Margin" Value="2"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Border CornerRadius="5 5 0 0" BorderThickness="1" BorderBrush="Black">
<TextBlock Text="{Binding }"/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
答案 0 :(得分:1)
由于某些原因,DataGrid在其模板中有一个空白的DataGridColumnHeader。空白列没有DataContext值(tags
)。因此,在DataTrigger中将边框画笔更改为透明:
tags
<小时/> 改进版本,在标题模板中使用ContentPresenter并在触发器
中测试内容
note
标题不是必需的文本,例如:
tags