[英]Resizing of new window to the previous window size in wpf
我在第一个窗口中有一个登录按钮,点击该按钮会打开一个新窗口。 如果我的第一个窗口被最小化并且单击了登录按钮,则会以最大尺寸打开新窗口。 我希望在以前的登录窗口大小(最小化的大小)中打开新窗口。 如何在wpf中执行此操作
尝试使用Window类的Width
和Height
属性在关闭之前获取上一个窗口的大小。 然后将其应用到新窗口。
请记住,您的问题不是非常详细,所以我可能误解了一些问题,如果您使用网页,解决方案可能会有所不同。
一些代码:在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.