XamDialogWindow で、全体的な見た目(テンプレート)を変更するのではなく、XamDialogWindoコンテンツの外側にだけコントロールを配置したい場合は、 ContentTemplate を利用することで、XamDialogWindowのコンテンツを装飾したり、任意のコントロールを配置することが出来ます。
<ig:XamDialogWindow x:Name="xamDialogWindow" ContentTemplate="{StaticResource DialogWindowContentTemplate}" > <TextBlock>XamDialogWindowコンテンツ</TextBlock> </ig:XamDialogWindow>
<!-- 下記例は、Borderだが、XamBusyIndicatorを配置に変える事も出来る。 --> <Border Background="SkyBlue" Padding="10"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Background="Yellow">コンテンツの外に、共通的なヘッダーを配置したり</TextBlock> <!-- XamDialogWindowのコンテンツ、XamDialogWindowに設定されいてる"Content"を取得し、表示 --> <ContentControl Grid.Row="1" Content="{Binding Content, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ig:XamDialogWindow}}" /> <TextBlock Grid.Row="2" Background="Orange">コンテンツの外に、共通的なフッターを配置したり</TextBlock> </Grid> </Border> </DataTemplate>
実行結果