我重写了WPF扩展器的模板。 头部包含ContentPresenter。
<ContentPresenter x:Name="HeaderContent"
Grid.Column="1"
Margin="0,0,4,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
RecognizesAccessKey="True"
SnapsToDevicePixels="True"
>
<ContentPresenter.Resources>
<Style BasedOn="{StaticResource Expanderheader-Naming}"
TargetType="{x:Type TextBlock}" />
</ContentPresenter.Resources>
</ContentPresenter>
我尝试为所有TextBlock添加我的样式。 如果将标题设置为属性,则我的样式有效:
<Expander Header="HelloWorld">
但是如果我尝试用另一种方式设置它,就无法实现。
<Expander>
<Expander.Header>
<Grid x:Name="MyGrid">
<TextBlock>Hello Man</TextBlock>
</Grid>
</Expander.Header>
</Expander>
如何为 ContentPresenter 中的任何 TextBlock 设置此样式?