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>

実行結果

Tagged:

製品について

Ultimate UI for WPF