2
我的要求是,我的WPF DataGrid行应该有边框,但DataGrid标题列不应该有任何边框。删除WPF DataGrid标题列的边框
如果我把DataGrid放在Border元素的内部,那么整个网格(包括标题列)都会获取边框。
我已经设置了GridLinesVisibility =“Horizontal”。
有没有什么办法只为网格行有边框?
谢谢!
编辑
这里是我使用的XAML代码..
<Style x:Key="DataGridColumnHeaderHiddenStyle" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Height" Value="15" />
<Setter Property="BorderBrush" Value="Transparent"/>
</Style>
<StackPanel>
<ScrollViewer MaxHeight="175" VerticalScrollBarVisibility="Auto">
<DataGrid ItemsSource="{Binding SelectedItemsCollectionView}"
CellStyle="{StaticResource CellStyle}" GridLinesVisibility="Horizontal" HorizontalGridLinesBrush="{StaticResource GridBorderBrush}" ClipToBounds="True" AllowDrop="True"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
x:Name="selectedItemsGrid">
<DataGrid.ItemContainerStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="AllowDrop" Value="True" />
</Style>
</DataGrid.ItemContainerStyle>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Name}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.Style>
<Style TargetType="DataGrid">
<Setter Property="HeadersVisibility" Value="Column" />
<Setter Property="ColumnHeaderStyle" Value="{StaticResource DataGridColumnHeaderHiddenStyle}" />
</Style>
</DataGrid.Style>
</DataGrid>
</ScrollViewer>
</StackPanel>
我试过这个。但它不适合我。网格仍然在列标题行周围显示边框。 – Sambhaji
有什么变化吗?标题分隔符是否仍然可见?请张贴一些代码,因为它适用于我。 – Natxo
是的。列标题分隔符现在不可见。但是网格标题行周围的边框仍然可见。我发布了xaml代码。 – Sambhaji