Махапп-SimpleChildWindow
Я пытаюсь настроить SimpleChildWindow из пакета MahApps https://github.com/punker76/MahApps.Metro.SimpleChildWindow
К сожалению, я не понимаю образец и у меня есть пара вопросов:
Там написано "непосредственно в XAML" - куда мне это поставить? В Родительском окне или это отдельное окно?
Ждите этого.ShowChildWindowAsync(new CoolChildWindow () { IsModal = false }); - откуда мы это возьмем CoolChildWindow ()?
Эти вопросы могут показаться глупыми, хотя я не могу найти никакой дополнительной информации или образцов по сети.
Был бы признателен за любую помощь или расширенный пример кода.
1 ответ:
"непосредственно в XAML" означает: поместите дочерние окна в корневую сетку.
<Controls:MetroWindow x:Class="MahApps.Metro.SimpleChildWindow.Demo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls" xmlns:simpleChildWindow="clr-namespace:MahApps.Metro.SimpleChildWindow;assembly=MahApps.Metro.SimpleChildWindow" Title="MahApps.Metro Simple ChildWindow Demo" GlowBrush="{DynamicResource AccentColorBrush}" WindowStartupLocation="CenterScreen"> <Grid x:Name="RootGrid"> <Grid> <!-- main content here --> </Grid> <simpleChildWindow:ChildWindow x:Name="child01" CloseByEscape="False" Closing="Child01_OnClosing" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Padding="15" ChildWindowImage="Error" Title="TestChild 1"> <Grid> <!-- child content here --> </Grid> </simpleChildWindow:ChildWindow> <simpleChildWindow:ChildWindow x:Name="child02" ChildWindowWidth="400" ChildWindowHeight="300" EnableDropShadow="False" Title="TestChild 2"> <Grid> <!-- child content here --> </Grid> </simpleChildWindow:ChildWindow> </Grid> </Controls:MetroWindow>Если вы предпочитаете код за использованием, то вы можете создать пользовательское дочернее окно типа
CustomChildWindowи создать и вызвать его такprivate async void OpenCustomChildWindow_OnClick(object sender, RoutedEventArgs e) { await this.ShowChildWindowAsync(new CustomChildWindow() { IsModal = false }, RootGrid); // or //await this.ShowChildWindowAsync(new CustomChildWindow() { IsModal = false }, OverlayFillBehavior.WindowContent); // or //await this.ShowChildWindowAsync(new CustomChildWindow() { IsModal = true }, OverlayFillBehavior.FullWindow); }Вы можете найти это также в основной демонстрации на GitHub.
Надеюсь, это поможет.
Comments