我有一个数据网格,它在一个窗口内,如果某个其他元素使窗口调整大小,则需要能够调整窗口大小。因为窗口需要能够自己调整大小以更改大小的其他元素,所以我必须使用SizeToContent =“Width”。
网格的宽度设置为自动,它完成所有操作,直到我将最终列的宽度设置为“*”,以便填充额外的空间。当星列宽度和窗口ResizeToContent一起使用时,窗口最终变为可视区域的整个宽度。如果我将网格的宽度设置为特定的大小,那么它将全部起作用,但网格将不会调整大小以填充。
当使用*?
的列宽时,如何防止窗口像这样调整大小我尝试了来自this question的附加属性解决方案,但我得到了相同的结果。
我还能够通过hack后面的代码修复问题,该代码将数据网格上的MaxWidth设置为窗口宽度减去调整窗口大小时的边距。从调试开始,它似乎是数据网格本身的一个错误,源于列之后的空白空间。当网格调整大小时,最后一列调整大小以填充,这会将网格的边界推到当前大小之外,这会强制它调整大小等等,直到达到整个视图宽度。