我有一个数据网格,其列宽设置为“自动”。加载数据网格后,列的大小是正确的。但是,当我将窗口宽度更改为小于数据网格的大小时,它会调整列的大小以尝试适应数据网格中的所有内容。当我将窗口大小扩展回完整大小时,所有数据网格列的大小不再适合内容,而是全部设置为相同的宽度,就像宽度现在设置为“*”一样。
有办法避免这种情况发生吗?我尝试过 CanUserResizeColumns="False"并将列的宽度设置为硬编码值。
我也在使用materialdesigninxaml,不确定这是否是导致此问题的原因?
最佳答案
这确实是 WPF 中的工作方式。如果您提前知道所需的尺寸,则应相应指定。因此,您可以指定 width="123"
,而不是 width="Auto"
。
您可以尝试保持相对大小,如下所示:
width="2*" .... width="*" ... width="10*"
这将确保第 1 列的大小是第 2 列的两倍,第 3 列的宽度是第 2 列的 10 倍。此外还有 minWidth
和 maxWidth
应该带你去你想去的地方。祝你好运
关于c# - WPF 防止数据网格在窗口大小调整时自动调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42775315/