基本上,我想覆盖,例如:TextBlock
over Button
,通过使用ControlTemplate
(应用于 this Button
),但我不想摆脱它的默认模板。
例子:
<Grid Grid.Row="1" Grid.ColumnSpan="2">
<Grid.Resources>
<Style x:Key="myStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<ContentPresenter />
<TextBlock Text="textBlock"
Margin="10" Foreground="Red"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<Button Style="{StaticResource myStyle}" Content="button1"></Button>
</Grid>
它Button
去掉了它的默认模板:
相反,我想收到这样的东西:
可以通过使用ControlTemplate
吗?我试图绑定TemplatedParent
到 ContentPresenter.Content
这里:
<ContentPresenter Content="{Binding
RelativeSource={RelativeSource Mode=TemplatedParent},
Path=.,
Mode=TwoWay}"/>
或其他组合,但我无法使其工作。
编辑:
因为我希望不仅可以将其应用于TextBlock
按钮(这只是一个示例),而且可以应用于Control
任何Control
. 另外,我不想创建UserControl
,因为我想尽可能保持 xaml 干净(我的意思是使用系统控件) - 并且只是TextBlock
通过使用ControlTemplate
.