1

ウィンドウ テンプレートを変更したい。たとえば、次のようにします。

<Style x:Key="SilverGreenWindowStyle" TargetType="{x:Type Window}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <Grid Background="{StaticResource SilverGreenBackground}" Width="503" Height="383">
                    <Rectangle Margin="192,86,21,119" Fill="{StaticResource SilverGreenRectangleBackground}" Width="200" Height="200"/>
                </Grid>    
            </ControlTemplate>
        </Setter.Value>    
    </Setter>
</Style>

これにより、Windows コントロールが非表示になります。それらを常に表示するにはどうすればよいですか?

4

1 に答える 1

5

Window にコンテンツを表示する場所を伝えるには、テンプレートに要素を含める必要があります。ContentPresenterは魔法のように機能します。ツリーに挿入した位置に Window のコンテンツをレンダリングします。

たとえば、通常のコンテンツを Rectangle の上に表示する場合は、次のようにします。

<Style x:Key="SilverGreenWindowStyle" TargetType="{x:Type Window}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <Grid Background="{StaticResource SilverGreenBackground}" Width="503" Height="383">
                    <Rectangle Margin="192,86,21,119" Fill="{StaticResource SilverGreenRectangleBackground}" Width="200" Height="200"/>
                    <ContentPresenter/>
                </Grid>    
            </ControlTemplate>
        </Setter.Value>    
    </Setter>
</Style>
于 2009-05-13T20:22:17.310 に答える