Махапп-SimpleChildWindow



Я пытаюсь настроить SimpleChildWindow из пакета MahApps https://github.com/punker76/MahApps.Metro.SimpleChildWindow



К сожалению, я не понимаю образец и у меня есть пара вопросов:





  1. Там написано "непосредственно в XAML" - куда мне это поставить? В Родительском окне или это отдельное окно?



  2. Ждите этого.ShowChildWindowAsync(new CoolChildWindow () { IsModal = false }); - откуда мы это возьмем CoolChildWindow ()?



Эти вопросы могут показаться глупыми, хотя я не могу найти никакой дополнительной информации или образцов по сети.



Был бы признателен за любую помощь или расширенный пример кода.

591   1  

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

    Ничего не найдено.