我发现我无法将文本块中包含的文本的前景设置为子级(而不是通过文本块上的Text属性设置的文本),只需使用Foreground属性即可父文本块。我已尝试设置属性TextElement.Foreground
和Run.Foreground
,但都无法正常工作。在这种情况下有谁知道首选方法?
到目前为止,这是我的代码:
<TextBlock Foreground="{Binding ForegroundColor}">
Sample<LineBreak/>Text
</TextBlock>
编辑:这里有一个有趣的转折:如果我把<LineBreak/>
取出来,前景设置得很好
答案 0 :(得分:2)
确保您的应用程序中没有定义隐式运行样式:
<Style TargetType="Run">
<Setter Property="Foreground" Value="Gray" />
</Style>
这个将覆盖父TextBlock的前景设置。
如果您这样做,可以向TextBlock添加隐式运行样式:
<TextBlock>
<TextBlock.Resources>
<Style TargetType="Run">
<Setter Property="Foreground" Value="Orange" />
</Style>
</TextBlock.Resources>
Sample<LineBreak/>Text
</TextBlock>