WPF禁用窗口自动调整大小

本文关键字:调整 窗口 WPF | 更新日期: 2023-09-27 18:27:42

目前我有

    SizeToContent="WidthAndHeight" 
    ResizeMode="NoResize"

因为我想利用WPF的自动调整大小。但是当我隐藏一些按钮时,窗口宽度会缩小,这是预期的行为,但我想禁用它。基本上,我希望窗口大小在渲染后保持原样。有没有一种很好的方法可以做到这一点,而不是在启动时计算宽度并在代码后面设置它?

WPF禁用窗口自动调整大小

后面的代码没有任何问题。

但是,您可能希望将按钮的Visibility设置为Hidden,而不是Collapse,以实现所需的行为。

当窗口根据其内容的大小获得其宽度和高度时,您可以在其加载事件中设置窗口的大小(固定大小)。你应该用这样的东西。宽度=这个。实际宽度和这个。高度=这个。负载事件中的ActualHeight。

以下是我的操作:对于窗口集:

 SizeToContent = SizeToContent.WidthAndHeight
 ContentRendered += DisableSizeToContent

最后在那里禁用SizeToContent

private static void DisableSizeToContent(object sender, EventArgs e)
{
    if (sender is Window win)
    {                
        win.SizeToContent = SizeToContent.Manual;
    }
}

仍在寻找异步绑定的解决方案!