[英]How do I center the column header in my datagrid XAML
我試圖使我的數據網格看起來更像一個列表視圖。
我想將文本“名稱”居中
然后刪除項目右側的垂直黑條。
<Window.Resources>
<Style x:Key="DGCHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Height" Value="30"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#303030" />
<Setter Property="Foreground" Value="White"/>
</Style>
<Style x:Key="DGHeaderStyle" TargetType="{x:Type DataGrid}">
<Setter Property="ColumnHeaderStyle" Value="{DynamicResource DGCHeaderStyle}"/>
</Style>
</Window.Resources>
<Grid>
<DataGrid Foreground="Black" HeadersVisibility="Column" Background="Transparent" BorderBrush="Black" RowBackground="Transparent" x:Name="dgItems" Margin="2,0,10,10" Style="{DynamicResource DGHeaderStyle}"/>
</Grid>
新增中
<Setter Property="Width" Value="525"/>
至
<Style x:Key="DGCHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
修復
像您一樣對值進行硬編碼是可行的,但是它破壞了WPF的主要功能之一,即控件和視圖的可伸縮性。
而不是硬編碼的“ 525”值,而是在DataGrid
本身上設置ColumnWidth
屬性將為您提供更好的設計靈活性:
<DataGrid ColumnWidth="*"/>
這樣,無論您有多少列,或者窗口或DataGrid
寬度/寬度如何,這些列將始終占據DataGrid
中的所有可用空間。
在WPF中, *
表示“使用容器中的所有剩余空間”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.