Wpf 将Window.SizeToContent限制为仅展开
是否有可能限制只扩大尺寸 我有一个通用窗口,它动态地填充了一个窗口中的内容。由于开始时不知道每个TabItem的大小,因此我无法预先计算所需的大小(尽管我只关心高度),以便在不滚动的情况下显示所有TabItem 启用Wpf 将Window.SizeToContent限制为仅展开,wpf,window,Wpf,Window,是否有可能限制只扩大尺寸 我有一个通用窗口,它动态地填充了一个窗口中的内容。由于开始时不知道每个TabItem的大小,因此我无法预先计算所需的大小(尽管我只关心高度),以便在不滚动的情况下显示所有TabItem 启用SizeToContent将在选项卡更改时自动将大小调整为所需大小。虽然它只在当前视图需要更多空间时才扩展是可以的,但我不喜欢在需要更少空间时窗口也会收缩。是否可以将SizeToContent行为限制为只允许扩展窗口大小?或者可以以不同的方式模拟该行为,同时考虑到选项卡控件旁边的窗口
SizeToContent
将在选项卡更改时自动将大小调整为所需大小。虽然它只在当前视图需要更多空间时才扩展是可以的,但我不喜欢在需要更少空间时窗口也会收缩。是否可以将SizeToContent
行为限制为只允许扩展窗口大小?或者可以以不同的方式模拟该行为,同时考虑到选项卡控件旁边的窗口框架和其他组件,仍然可以生成正确的结果
我尝试连接到不同的窗口事件,以了解在更改选项卡时新的大小信息会出现在哪里,但窗口上唯一真正有用的信息不是生成确定的结果(对于某些选项卡,它被调用,对于其他选项卡,它不是)。您还有其他想法吗?加载窗口后,您可以尝试使用和设置最小高度/宽度
public void WindowLoaded()
{
this.MinHeight = this.ActualHeight;
this.MinWidth = this.ActualWidth;
}
我试过Bobs方法。他的答案是正确的
在我的例子中,WindowLoaded事件提前触发。它在呈现内容之前激发
因此,我使用了“ContentRendered”事件,现在如果内容大小减小,我的窗口不会缩小。如果您的内容在第一次显示窗口后可能会增加其大小,您可以使用“SizeChanged”事件。在我的情况下,我在窗口中使用了绑定实际宽度
和实际高度
到最小宽度
和最小高度:
x:Name="printWnd"
SizeToContent="WidthAndHeight"
MinWidth="{Binding ActualWidth, ElementName=printWnd}"
MinHeight="{Binding ActualHeight, ElementName=printWnd}"
简单地定义一个最小大小如何?@KevinDiTraglia正如我所说,窗口动态地充满了内容。我实际上想让用户调整它的大小,使它变小。我只希望显示内容的默认大小为“完美”。