是否可以通过某种方式限制 Window.SizeToContent
仅扩展大小?
我有一个普通的窗口,该窗口动态地填充了TabControl中的内容。由于一开始不知道每个TabItem的大小,因此我无法预先计算所需的大小(尽管我只关心高度)才能显示全部内容而无需滚动。
每当更改选项卡时,启用SizeToContent
都会自动将大小调整为所需的大小。可以只在当前 View 需要更多空间时才展开,但我不喜欢在需要较少空间时也可以缩小窗口。是否可以将SizeToContent
行为限制为仅允许扩展窗口大小?还是可以以其他方式模拟行为,同时仍然考虑到选项卡控件旁边的窗口框架和其他组件,从而产生正确的结果?
我尝试 Hook 到不同的窗口事件中,以找出更改选项卡时新尺寸信息的去向,但是窗口上唯一真正有用的信息 OnChildDesiredSizeChanged
并没有产生确定性的结果(对于某些选项卡,它被称为,对于其他选项卡,则为')。您还有其他想法吗?
最佳答案
您可以尝试在加载Window
后使用FrameworkElement.MinHeight和FrameworkElement.MinWidth设置最小高度/宽度。
public void WindowLoaded()
{
this.MinHeight = this.ActualHeight;
this.MinWidth = this.ActualWidth;
}