如何获得拥有窗口的大小?

时间:2016-06-29 13:42:20

标签: wpf xaml

我想将窗口的宽度和高度设置为XAML中所有者窗口的宽度和高度。我怎么做?如果所有者窗口是MainWindow,它会有帮助吗?

<Window Width="???" Height="???"/>

2 个答案:

答案 0 :(得分:0)

如果您是从主窗口创建 TestWindow ,这显然是我认为您需要的代码。您可以使用this.Widththis.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。