c# - WPF 防止数据网格在窗口大小调整时自动调整大小

标签 c# wpf xaml datagrid

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

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

我也在使用materialdesigninxaml,不确定这是否是导致此问题的原因?

最佳答案

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

可以尝试保持相对大小,如下所示:

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

这将确保第 1 列的大小是第 2 列的两倍,第 3 列的宽度是第 2 列的 10 倍。此外还有 minWidthmaxWidth应该带你去你想去的地方。祝你好运

关于c# - WPF 防止数据网格在窗口大小调整时自动调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42775315/

相关文章:

带路由值的 helper 的 C# 扩展方法

c# - 使用 WPF 浏览器控件时如何重叠 BeforeNavigate 2?

c# - 带有转换器的 WPF 单选按钮 - 我的所有角色如何变成女性

c# - 在 Wpf 中,如何将命令从按钮发送到子控件?

wpf - MyContainer 派生自 FrameworkElement,具有绑定(bind)支持

wpf - 如何在 WPF 中设置 slider 控件的样式?

C# - 识别另一个网络上的计算机

c# - .Net 应用程序未在连接字符串中使用故障转移伙伴

c# - Crystal 报表 ExportToDisk 消耗大量时间

c# - WPF如何更改首先打开的窗口