Ton*_*ony 1 .net c# wpf controltemplate
我想更改我的窗口模板,例如:
<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>
Run Code Online (Sandbox Code Playgroud)
这会导致Windows控件变得不可见.如何让它们可见?
您需要在模板中包含一个元素,以告诉Window在哪里显示它的内容.ContentPresenter为您提供了神奇的功能:它会在您在树中插入Window的内容中呈现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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |