xaml - TextBlock 中的多种颜色

标签 xaml windows-phone-7 textblock text-coloring

是否可以向 TextBlock 添加动态颜色......即一个字符采用一种颜色,下一个字符采用另一种颜色。

<TextBlock Text="{Binding no}" TextWrapping="Wrap" Margin="10,0,0,0" Style="{StaticResource PhoneTextSubtleStyle}" FontSize="40" Foreground="#A400C4FF" >
  // Can we add something here to specify what colours for what chars
</TextBlock>

基本上我输入了一个动态的 4 个字符序列。我已将其绑定(bind)到 ListBox 内的 TextBlock。是否可以让角色有不同的颜色。

如果是这样,是否可以动态添加这些颜色,例如。如果我单击按钮,某些字符会改变颜色?

谢谢。感谢任何帮助。

最佳答案

实际上,您可以,当您在数据绑定(bind)文本 block 或许多其他位置上执行 StringFormat 时,这会派上用场。

如果您确实想尝试一下,就像这里有一个表单标签的 SL 示例,它在文本“必填字段”旁边放置一个红色星号,但也可以向其中添加更多内容,如示例中所示。应该适用于 Silverlight、WPF、UWP 等...

<TextBlock>
      <Run Text="*" Foreground="#FFE10101"/><Run Text="Required Line" />
      <Run Text="Red" Foreground="Red"/>
      <Run Text="Blue" Foreground="Blue"/>
      <Run Text="{Binding SomeString, StringFormat='Hell ya you can make \{0\} a different color!'}" Foreground="Orange"/>
</TextBlock>

关于xaml - TextBlock 中的多种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8365567/

相关文章:

xaml - 在 UWP 中由用户拖动 UI 元素

c# - 从 XAML 开始 VisualState 转换

windows-phone-7 - Windows Phone 7.1 开始屏幕磁贴边距是多少?

wpf - TextBlock 填充垂直空间

wpf - 如何使所有文本大写/大写?

c# - Listview 中的 TextBox - 在 TextBox TextChanged 上获取 ListViewItem

Silverlight 本地化

javascript - 使用 JavaScript 和 PhoneGap 的 Windows Phone 7 模拟器不会触发警报

c# - 在 Windows Phone 8 中旋转 HubTile

windows - 如何在 Windows Phone 应用程序中调整 TextBlock 的文本?