基本的に、たとえばTextBlock
overを(applied to this )Button
を使用してオーバーレイしたいのですが、デフォルトのテンプレートを削除したくありません。ControlTemplate
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
ます。.