Я хочу установить ширину и высоту окна в ширину и высоту окна своего владельца в XAML. Как мне это сделать? Помогает ли это, если окно владельца является MainWindow?Как получить размер окна владельца?
<Window Width="???" Height="???"/>
Я хочу установить ширину и высоту окна в ширину и высоту окна своего владельца в XAML. Как мне это сделать? Помогает ли это, если окно владельца является MainWindow?Как получить размер окна владельца?
<Window Width="???" Height="???"/>
Это, очевидно, код, который я думаю, что вам требуется, если вы создаете 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;
}
}
Как это работает в XAML? – gartenriese
Использование ** DataBinding ** – ViVi
Не могли бы вы уточнить? – gartenriese
Эй, вы можете сделать это с помощью 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.
К сожалению, я уже использую другой DataContext, потому что я делаю MVVM. – gartenriese
Window.Size = новый Размер (ширина, высота); – Anton
@ Антон: Что такое 'width' и' height'? И как это XAML? – gartenriese
Где вам нужно установить размер в xaml или в .cs?
– Anton