[英]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.