【发布时间】:2012-03-21 22:23:53
【问题描述】:
如果我设置一个具有 3 个固定宽度列的数据网格,一切都按预期工作(3 个列测量 100):
<Window x:Class="DataGridTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<DataGrid HorizontalScrollBarVisibility="Visible" >
<DataGrid.Columns>
<DataGridTextColumn Width="100" Header="A" />
<DataGridTextColumn Width="100" Header="B" />
<DataGridTextColumn Width="100" Header="C" />
</DataGrid.Columns>
</DataGrid>
</Window>
如果我在调整窗口大小时将一列更改为宽度 * 使其变小,所有这些都会更改它们的宽度。
<Window x:Class="DataGridTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<DataGrid HorizontalScrollBarVisibility="Visible" >
<DataGrid.Columns>
<DataGridTextColumn Width="*" Header="A" />
<DataGridTextColumn Width="100" Header="B" />
<DataGridTextColumn Width="100" Header="C" />
</DataGrid.Columns>
</DataGrid>
</Window>
这是预期的行为还是 WPF 中的错误?
【问题讨论】:
-
这里只是一个小插曲,但没有指定单位,100 是否被解释为“100% 的可用空间”?
-
@sasfrog:完全没有,它们被解释为 100 个独立于设备的单元。
-
你说得对,这有点出乎意料,但这是默认行为..
标签: .net wpf datagrid datagridcolumn