這是一個後續回答問題[此處] [1]。動態更改WPF窗口的啓動位置
在XAML中定義了WPF窗口的啓動位置。現在我想知道如何在代碼中更改這些屬性?例如,我可以這樣說:
Window1.Top = 40在窗口加載事件處理程序?或者我需要設置哪些窗口事件來動態改變起始位置?
目標是在呈現之前動態設置窗口的開始位置。
這是一個後續回答問題[此處] [1]。動態更改WPF窗口的啓動位置
在XAML中定義了WPF窗口的啓動位置。現在我想知道如何在代碼中更改這些屬性?例如,我可以這樣說:
Window1.Top = 40在窗口加載事件處理程序?或者我需要設置哪些窗口事件來動態改變起始位置?
目標是在呈現之前動態設置窗口的開始位置。
這是相當容易的代碼來完成:
public partial class Window1 {
public Window1()
{
InitializeComponent();
this.Height = 500;
this.Width = 500;
this.WindowStartupLocation = WindowStartupLocation.Manual;
this.Left = 0;
this.Top = 0;
}
}
你可以設置任何你想要的參數,但如果你要設置頂部/左側,確保設置WindowStatupLocation(或有它在XAML中設置爲手動)。
就個人而言,在調用InitializeComponent()之後,我會將「Window1.Top = 40」類型的行放入構造函數中。這肯定會在窗口實際呈現之前調用。
編輯:糟糕。我應該仔細閱讀。
你是否試圖從窗口本身以外的某個類中設置窗口的位置?如果您能夠在Window1的構造函數中設置Window1的位置,我的建議將會起作用。
否則,我會說你可以做的最好的事情就是聽窗口的Loaded事件,並從那裏設置位置。
你是否試圖從窗口內部,或者當你從調用代碼創建一個新窗口來設置它? – 2009-10-09 20:21:23