【发布时间】:2016-09-07 09:23:25
【问题描述】:
我在 WPF 中有一个自动调整大小的应用程序用户控件(Height="Auto" Width="Auto")。当其中的一堆元素被调整大小时,窗口保持相同的渲染大小。如何强制它调整大小?我在调整窗口内组件大小的函数中尝试了这一行Application.Current.MainWindow.SizeToContent = SizeToContent.WidthAndHeight;。编译器给我一个错误,没有与此调用关联的对象。我试过这条线MainWindowBorder.Height = Double.NaN; 来欺骗它调整大小。也没有运气。
【问题讨论】:
-
您尝试过 window.height -= 调整元素大小的数量
-
您绝对可以跟踪一切发生了多少变化,并按照@Master117 提到的方式手动完成。按顺序获取代码可能有点乏味,具体取决于您拥有多少控件以及它们如何更改,但它肯定会起作用。
-
里面的所有元素都会自动调整大小。我在一系列网格中折叠或制作可见元素,因此如果没有繁琐的计算,我无法手动更改大小。该窗口包含这些自动调整大小的网格的集合。
-
IIRC,您需要将窗口设为非用户可调整大小。
-
如果它是一个网格,我认为你需要将它粘贴到一个面板或类似的东西上,以便自动工作。不是 100% 确定。