WPF阻止datagrid在窗口大小调整时自动调整大小

时间:2017-03-13 23:35:02

标签: c# wpf xaml datagrid

我有一个数据网格,其列宽设置为" Auto"。加载数据网格时,列的大小正确。但是,当我将窗口宽度更改为小于datagrid的大小时,它会调整列的大小,以便尝试使数据网格中的所有内容都适合。当我将窗口大小扩展回完整大小时,所有datagrid列都不再按内容调整大小,而是全部设置为相同的宽度,就好像宽度现在设置为" *"。

有没有办法防止这种情况发生?我尝试过CanUserResizeColumns =" False"并将列的宽度设置为硬编码值。

我也在使用materialdesigninxaml,不确定这是否导致了这个问题?

2 个答案:

答案 0 :(得分:2)

这确实是它在WPF中的工作方式。如果您提前知道您想要的尺寸,则应相应地指定它。因此,您需要指定width="Auto"而不是width="123"

可以尝试保持相对大小调整,例如:

width="2*" .... width="*" ... width="10*"

这将确保第1列的大小是第2列的两倍,第3列是第2列的宽度的10倍。此外,除了minWidthmaxWidth之外,您还可以获得所需的位置成为。祝你好运

答案 1 :(得分:1)

检查以确保任何列定义的宽度为“*”