私の要件は、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>