C# 如何在datagrid XAML中将列标题居中
我试图使我的datagrid看起来更像一个listview。C# 如何在datagrid XAML中将列标题居中,c#,.net,wpf,xaml,datagrid,C#,.net,Wpf,Xaml,Datagrid,我试图使我的datagrid看起来更像一个listview。 我想将文本“name”居中放置 然后移除项目右侧的垂直黑色条。 添加 <Setter Property="Width" Value="525"/> 到 修正了它添加 <Setter Property="Width" Value="525"/> 到 修复了它像您所做的那样对值进行硬编码将起作用,但它破坏了WPF的一个主要功能,即控件和视图的可伸缩性 与硬编码的“525”值不同,在DataG
我想将文本“name”居中放置
然后移除项目右侧的垂直黑色条。
添加
<Setter Property="Width" Value="525"/>
到
修正了它添加
<Setter Property="Width" Value="525"/>
到
修复了它像您所做的那样对值进行硬编码将起作用,但它破坏了WPF的一个主要功能,即控件和视图的可伸缩性 与硬编码的“525”值不同,在
DataGrid
本身上设置ColumnWidth
属性将为您提供更好的设计灵活性:
<DataGrid ColumnWidth="*"/>
这样,无论您有多少列,或者窗口有多宽/窄,或者DataGrid
get,这些列总是会占用DataGrid
中的所有可用空间
在WPF术语中,
*
意味着“使用容器中所有剩余的空间”。像您这样硬编码值会起作用,但它会破坏WPF的一个主要功能,即控件和视图的可伸缩性
与硬编码的“525”值不同,在DataGrid
本身上设置ColumnWidth
属性将为您提供更好的设计灵活性:
<DataGrid ColumnWidth="*"/>
这样,无论您有多少列,或者窗口有多宽/窄,或者DataGrid
get,这些列总是会占用DataGrid
中的所有可用空间
在WPF术语中,
*
表示“使用容器中的所有剩余空间”。列宽在各种情况下都很容易被破坏。事实上,DataGrid非常脆弱,我强烈建议大家远离它。如果您需要具有类似功能的控件,您可以轻松地自制自己的控件,所需时间与仅解决一个DataGrid问题所需的时间相同。DataGrid是WPF框架中最容易损坏的控件。ColumnWidth在各种情况下都很容易损坏。事实上,DataGrid非常脆弱,我强烈建议大家远离它。如果您需要具有类似功能的控件,您可以轻松地自制自己的控件,所需时间与仅解决一个DataGrid问题所需的时间相同。DataGrid很容易成为WPF框架中最脆弱的控件。