WPF窗口位置
本文关键字:位置 窗口 WPF | 更新日期: 2023-09-27 17:54:24
我之前问过一个关于在这里创建子窗口的问题…当我打开子窗口时,它不会以父窗口为中心打开。如何将其设置为对父窗口居中打开?
这个解决方案对我来说很好。
在WPF中,我找到了一个方法,可以将窗口居中到其父窗口或应用程序的主窗口。这与你在WinForms中的做法没有太大的不同。
将子窗口的WindowStartupLocation设置为"CenterOwner"。这将使它显示在所属窗口的中心。崩溃
<Window x:Class="WpfApplication1.TestChild"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TestChild" Height="300" Width="300"
WindowStartupLocation="CenterOwner">
现在,要做的就是在显示它之前设置它的所有者。如果用于显示窗口的代码在window类中运行,那么您可以使用this。崩溃
TestChild testWindow = new TestChild();
testWindow.Owner = this;
testWindow.Show();
然而,情况并非总是如此;有时,您需要显示在页面或用户控件上运行的代码中的子窗口。在本例中,您希望子窗口位于应用程序主窗口的中心。崩溃
TestChild testWindow = new TestChild();
testWindow.Owner = Application.Current.MainWindow;
testWindow.Show();
试试这个
aboutWindow.WindowStartupLocation= WindowStartupLocation.CenterOwner ;
aboutWindow.ShowDialog(this);
你可以试试:
AboutWindow window = new AboutWindow();
window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;
window.Owner = this;
window.ShowDialog();