簡體   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