你可以,如果是这样,你如何设计WPF TextBlock的部分样式?

时间:2012-08-31 21:01:19

标签: c# wpf

  

可能重复:
  Can I have multiple colors in a single TextBlock in WPF?

是否可以设置WPF TextBlock的部分样式,例如某个单词是粗体,斜体还是带下划线?你能改变所有的字体属性吗?如果是这样,什么解决方案是最漂亮和最有效的?

2 个答案:

答案 0 :(得分:3)

您可以在XAML中的TextBlock中单独设置样式,也可以在.cs代码隐藏文件中使用Inlines属性。 This blog post表示您至少可以设置字体样式,字体粗细,前景色和字体大小。

XAML:

<TextBlock>
     <Run Text="SomeText" FontWeight="Bold" FontStyle="Italic"/>
     <Run Text=" some more text" FontSize="12"/>
     <Run Text=" and more" Foreground="Blue"/>
</TextBlock >

这是一个示例,显示从C# Corner

添加画笔到运行中
<Run.Foreground>
   <LinearGradientBrush>
      <GradientStop Color="Green" Offset="0.0" />
      <GradientStop Color="Purple" Offset="0.25" />
      <GradientStop Color="Orange" Offset="0.5" />
      <GradientStop Color="Blue" Offset="0.75" />
   </LinearGradientBrush>
</Run.Foreground>

您可以通过编程方式访问的Inlines集合是System.Windows.Documents.Run个对象的集合。

答案 1 :(得分:2)

尝试使用运行,您可以根据需要将其中的任意数量添加到 TextBlock 段落中,并且它们是非常有效的表现。

您还可以对Run的 Text 属性使用绑定,非常酷!

<TextBlock>
    <Run Text="I want to show you some" />
    <Run Text="bold"
         FontWeight="Bold" />
    <Run Text="text!" />
</TextBlock>