这是一个回答问题的后续问题[这里] [1]。
在XAML中定义了WPF窗口的启动位置。现在我想知道如何在代码中更改这些属性?例如,我可以这样说:
窗口加载事件处理程序中的Window1.Top = 40?或者我需要为哪个窗口事件设置动态改变起始位置?
目标是在渲染之前动态设置Windows开始位置。
答案 0 :(得分:7)
在代码中这很容易做到:
public partial class Window1 {
public Window1()
{
InitializeComponent();
this.Height = 500;
this.Width = 500;
this.WindowStartupLocation = WindowStartupLocation.Manual;
this.Left = 0;
this.Top = 0;
}
}
您可以设置任何您想要的参数,但如果您要设置Top / Left,请确保设置WindowStatupLocation(或将其设置为XAML中的manual)。
答案 1 :(得分:0)
就个人而言,在调用InitializeComponent()之后,我会将“Window1.Top = 40”类型的行抛出到构造函数中。在实际呈现窗口之前,肯定会调用它。
编辑:哎呀。我应该仔细阅读。
您是否尝试从窗口本身以外的某个类设置窗口的位置?如果你能够在Window1的构造函数中设置Window1的位置,那么我的建议会有用。
否则,我会说你能做的最好的事情就是收听窗口的Loaded事件并从那里设置位置。