如何动态改变WPF窗口的大小?

问题描述 投票:0回答:3

假设我们显示一些 WPF 窗口,然后我们必须在底部显示一些额外的面板。

我想做的是增加 WPF 窗口大小并再次居中。

有任何线索或样本吗?

c# wpf xaml
3个回答
58
投票

您可以通过编程方式更改窗口的大小和位置,只需为大小设置适当的宽度和高度值,为位置设置顶部和左侧值。但这更容易。

跟随此页面您会得到

<Window x:Class="SizingTest.Window1" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Title="Window1" 
        Width="Auto" Height="Auto" SizeToContent="WidthAndHeight"> 

自动调整窗口大小以适应内容,并且借助此链接的帮助,您可以在更改大小后再次将窗口居中。


6
投票

如果您想调整为特定尺寸,您可以执行以下操作:

如果你想调整主窗口的大小,只需编写以下代码。

Application.Current.MainWindow.Height = 420;

如果您想调整主窗口以外的新窗口的大小,只需在新窗口的.cs文件中编写以下代码即可。

Application.Current.MainWindow = this; 
Application.Current.MainWindow.Width = 420;

希望有帮助。


0
投票

调整当前窗口的大小非常容易。您只需更改

Width
Height
属性:

private void ChangeSize()
{
// set window size to 640x480 pixels (x, y)
    this.Width = 640;
    this.Height = 480;
}

这将立即更新窗口大小。

或者,当子内容不适合窗口时,您也可以使用

ScrollViewer
自动创建滚动条。

希望我的解决方案有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.