繁体   English   中英

将新窗口的大小调整为wpf中的上一个窗口大小

[英]Resizing of new window to the previous window size in wpf

我在第一个窗口中有一个登录按钮,点击该按钮会打开一个新窗口。 如果我的第一个窗口被最小化并且单击了登录按钮,则会以最大尺寸打开新窗口。 我希望在以前的登录窗口大小(最小化的大小)中打开新窗口。 如何在wpf中执行此操作

尝试使用Window类的WidthHeight属性在关闭之前获取上一个窗口的大小。 然后将其应用到新窗口。

请记住,您的问题不是非常详细,所以我可能误解了一些问题,如果您使用网页,解决方案可能会有所不同。

一些代码:在Window1.xaml.cs中

public partial class Window1: Window
{
    public static double HeightWindow ;
    public static double WidthtWindow;

    public Window1()
    {
        InitializeComponent();
    }

    public void closing()
    {
        HeightWindow = this.Height;
        WidthWindow = this.Width;
    }
}

在任何方法中使用此方法来获取窗口的高度和宽度。 我知道它不是很详细,但它是一个开始。 在此之后你需要将你的变量传递给你的下一个窗口(我在这里使用静态变量,但我认为有更多的方法)并设置它们如下所示: Window2.xaml.cs

public partial class Window2: Window
{
    public Window2()
    {
        InitializeComponent();
        this.Height = Window1.HeightWindow ; 
        this.Width = Window1.WidthWindow;
    }
}

希望这应该做你想要实现的目标。

如果您通过其Uid属性命名登录窗口,则可以使用此命令在App.Current.Windows集合中找到该窗口,然后您可以捕获其宽度和高度并在打开新窗口时应用设置

foreach (Window window in App.Current.Windows)
{
    if (window.Uid == your_login_window_uid)
    {
        requiredHeight = window.Height;
        requiredWidth = window.Width;
    }
}

secondWindowsViewModel.Width = requiredWidth;
secondWindowsViewModel.Height = requiredHeight;

您可以在窗口的xaml文件中设置Uid:

 <UserControl Uid="Login">

或者根据您创建窗口的方式,您可以在创建过程中进行设置:

secondWindowsViewModel.Uid = "Login";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM