我想将窗口的宽度和高度设置为XAML中所有者窗口的宽度和高度。我怎么做?如果所有者窗口是MainWindow,它会有帮助吗?
<Window Width="???" Height="???"/>
答案 0 :(得分:0)
如果您是从主窗口创建 TestWindow ,这显然是我认为您需要的代码。您可以使用this.Width
和this.Height
关键字直接设置其宽度和高度。
var window = new TestWindow();
window.Width = this.Width;
window.Height = this.Height;
window.Show();
如果要从其构造函数设置TestWindow宽度和高度,请在TestWindow构造函数中执行以下操作:
foreach(var window in Application.Current.Windows)
{
if (window is MainWindow)
{
this.Width = ((Window)window).Width;
this.Height = ((Window)window).Height;
}
}
答案 1 :(得分:0)
嘿,你只能通过XAML来做到这一点:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ListBoxTest" x:Class="ListBoxTest.ChildWindows"
Title="ChildWindows" Height="{Binding ActualWidth, Mode=OneWay}" Width="{Binding ActualWidth, Mode=OneWay}">
<Window.DataContext>
<local:MainWindow/>
</Window.DataContext>
<Grid>
<!--here whatever you want to do...-->
</Grid>
</Window>
您必须将高度和宽度与MainWindows的实际宽度和高度绑定,但在此之前,您必须为MainWindows的ChildWindws设置DataContext,例如:
<Window.DataContext>
<local:MainWindow/>
</Window.DataContext>
这里的父窗口是MainWindows。