Wpf Datagrid Last Column Width =“*”with SizeToContent =“Width”导致窗口填满整个屏幕

时间:2015-01-29 22:45:37

标签: wpf datagrid wpfdatagrid

我有一个数据网格,它在一个窗口内,如果某个其他元素使窗口调整大小,则需要能够调整窗口大小。因为窗口需要能够自己调整大小以更改大小的其他元素,所以我必须使用SizeToContent =“Width”。

网格的宽度设置为自动,它完成所有操作,直到我将最终列的宽度设置为“*”,以便填充额外的空间。当星列宽度和窗口ResizeToContent一起使用时,窗口最终变为可视区域的整个宽度。如果我将网格的宽度设置为特定的大小,那么它将全部起作用,但网格将不会调整大小以填充。

当使用*?

的列宽时,如何防止窗口像这样调整大小

我尝试了来自this question的附加属性解决方案,但我得到了相同的结果。

我还能够通过hack后面的代码修复问题,该代码将数据网格上的MaxWidth设置为窗口宽度减去调整窗口大小时的边距。从调试开始,它似乎是数据网格本身的一个错误,源于列之后的空白空间。当网格调整大小时,最后一列调整大小以填充,这会将网格的边界推到当前大小之外,这会强制它调整大小等等,直到达到整个视图宽度。

0 个答案:

没有答案