我重写了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>
Run Code Online (Sandbox Code Playgroud)
我试图在里面为所有TextBlocks添加我的样式.如果我将标题设置为属性,我的风格是有效的:
<Expander Header="HelloWorld">
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试以其他方式设置它时,它不会.
<Expander>
<Expander.Header>
<Grid x:Name="MyGrid">
<TextBlock>Hello Man</TextBlock>
</Grid>
</Expander.Header>
</Expander>
Run Code Online (Sandbox Code Playgroud)
如何为ContentPresenter中的任何TextBlocks设置此样式?