gpt4 book ai didi

wpf - WPF-设置对话框窗口相对于主窗口的位置?

转载 作者:行者123 更新时间:2023-12-03 12:06:11 25 4
gpt4 key购买 nike

我只是创建自己的AboutBox,并使用Window.ShowDialog()对其进行调用

如何将其相对于主窗口定位,即从顶部居中20px?

最佳答案

您可以简单地使用Window.LeftWindow.Top属性。从主窗口中读取它们,然后在调用ShowDialog()方法之前,将值(加上20 px或其他值)分配给AboutBox

AboutBox dialog = new AboutBox();
dialog.Top = mainWindow.Top + 20;

要使其居中,也可以只使用WindowStartupLocation属性。将此设置为 WindowStartupLocation.CenterOwner
AboutBox dialog = new AboutBox();
dialog.Owner = Application.Current.MainWindow; // We must also set the owner for this to work.
dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;

如果要使其水平居中而不是垂直居中(即固定的垂直位置),则必须在AboutBox加载后在EventHandler中执行此操作,因为您将需要根据AboutBox的宽度计算水平位置,只有在加载后才能知道。
protected override void OnInitialized(...)
{
this.Left = this.Owner.Left + (this.Owner.Width - this.ActualWidth) / 2;
this.Top = this.Owner.Top + 20;
}

关于wpf - WPF-设置对话框窗口相对于主窗口的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2446602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com