2016-06-29 3 views
-1

Я хочу установить ширину и высоту окна в ширину и высоту окна своего владельца в XAML. Как мне это сделать? Помогает ли это, если окно владельца является MainWindow?Как получить размер окна владельца?

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

Window.Size = новый Размер (ширина, высота); – Anton

+0

@ Антон: Что такое 'width' и' height'? И как это XAML? – gartenriese

+0

Где вам нужно установить размер в xaml или в .cs?
Anton

ответ

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; 

    } 
} 
+0

Как это работает в XAML? – gartenriese

+0

Использование ** DataBinding ** – ViVi

+0

Не могли бы вы уточнить? – gartenriese

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, но перед этим вам нужно установить DataContext для ChildWindws, который является MainWindows, например:

<Window.DataContext> 
    <local:MainWindow/> 
</Window.DataContext> 

Здесь родительские окна - MainWindows.

+0

К сожалению, я уже использую другой DataContext, потому что я делаю MVVM. – gartenriese

Смежные вопросы