2 回答
TA贡献1963条经验 获得超6个赞
如果您阅读 MSDN 的 DataGrid 的 ControlTemplate:
你会看到大量的代码。我不知道您是否熟悉 ControlTemplates。但在此代码后面的 ScrollViewer 上有一个 ColumnDefinition :(在 MSDN 中,我的意思是)
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false" Background="Black">
<ScrollViewer.Template>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
您可以看到此定义将填充父容器。因为中间列的宽度是*,它将填满整个父级。
我不知道如何摆脱 WPF 默认值中的这一列。但是如果你有时间来设计你的 DataGrid。您可以更改 MSDN 的 ControlTemplate 并删除此行:
<ColumnDefinition Width="*" />
所以你会得到 DataGridView 给你的东西。
TA贡献1776条经验 获得超12个赞
如果您阅读 MSDN 的 DataGrid 的 ControlTemplate:
DataGrid 样式和模板
你会看到大量的代码。我不知道您是否熟悉 ControlTemplates。但在此代码后面的 ScrollViewer 上有一个 ColumnDefinition :(在 MSDN 中,我的意思是)
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false" Background="Black">
<ScrollViewer.Template>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
您可以看到此定义将填充父容器。因为中间列的宽度是*,它将填满整个父级。
我不知道如何摆脱 WPF 默认值中的这一列。但是如果你有时间来设计你的 DataGrid。您可以更改 MSDN 的 ControlTemplate 并删除此行:
<ColumnDefinition Width="*" />
所以你会得到 DataGridView 给你的东西。
- 2 回答
- 0 关注
- 412 浏览
添加回答
举报
