2016-06-13 5 views
2

私は残念ながら、私はサンプルを理解し、質問のカップルを持っていないcound MahAppsパッケージからセットアップにhttps://github.com/punker76/MahApps.Metro.SimpleChildWindowMahApps - SimpleChildWindow

をSimpleChildWindowをしようとしている:

  1. それは「直接XAMLで」と言います - 私はどこに置くべきですか?親のウィンドウで、またはこれは別のウィンドウですか?

  2. を待ちます.ShowChildWindowAsync(新しいCoolChildWindow(){IsModal = false}); - どこでCoolChildWindow()を取得できますか?

私はネットワーク上でさらなる情報やサンプルを見つけることはできませんが、その質問はばかばかしいかもしれません。

ヘルプや拡張コードのサンプルに感謝します。

答えて

6

「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> 

、その後、あなたはGitHubの上の主なデモでも、これを見つけることができますCustomChildWindowのようなカスタムChildWindowを作成し、作成し、この

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); 
} 

のようにそれを呼び出すことができます。

これが役に立ちます。

+1

ありがとうございました! :) – Oleksii

関連する問題