Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 将Window.SizeToContent限制为仅展开_Wpf_Window - Fatal编程技术网

Wpf 将Window.SizeToContent限制为仅展开

Wpf 将Window.SizeToContent限制为仅展开,wpf,window,Wpf,Window,是否有可能限制只扩大尺寸 我有一个通用窗口,它动态地填充了一个窗口中的内容。由于开始时不知道每个TabItem的大小,因此我无法预先计算所需的大小(尽管我只关心高度),以便在不滚动的情况下显示所有TabItem 启用SizeToContent将在选项卡更改时自动将大小调整为所需大小。虽然它只在当前视图需要更多空间时才扩展是可以的,但我不喜欢在需要更少空间时窗口也会收缩。是否可以将SizeToContent行为限制为只允许扩展窗口大小?或者可以以不同的方式模拟该行为,同时考虑到选项卡控件旁边的窗口

是否有可能限制只扩大尺寸

我有一个通用窗口,它动态地填充了一个窗口中的内容。由于开始时不知道每个TabItem的大小,因此我无法预先计算所需的大小(尽管我只关心高度),以便在不滚动的情况下显示所有TabItem

启用
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正如我所说,窗口动态地充满了内容。我实际上想让用户调整它的大小,使它变小。我只希望显示内容的默认大小为“完美”。