首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WPF - TextBlock -以编程方式格式化文本

WPF - TextBlock -以编程方式格式化文本
EN

Stack Overflow用户
提问于 2009-11-26 00:03:04
回答 3查看 29.2K关注 0票数 19

在XAML对象中,可以将TextBlock中的文本格式化为:

代码语言:javascript
复制
<TextBlock>
    <Bold>bold text</Bold> random non bold next
</TextBlock>

如何以编程方式实现"Bold“标记?

我试着把它们放在text属性中,然后它就把它们打印出来了(标签被打印成文本)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-26 00:10:46

Visual Basic版本:

代码语言:javascript
复制
Dim tb As New TextBlock

Dim b As New Bold
b.Inlines.Add(New Run("bold text"))

tb.Inlines.Add(b)
tb.Inlines.Add(New Run("random non bold text"))

C#版本:

代码语言:javascript
复制
TextBlock tb = new TextBlock();
var bold = new Bold(new Run("Bold Text"));
tb.Inlines.Add(bold);

var normal = new Run("Normal Text"));
tb.Inlines.Add(normal);
票数 20
EN

Stack Overflow用户

发布于 2009-11-26 00:14:03

以下是来自MSDN网站的代码,我认为这会有所帮助(http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.aspx)。

XAML

代码语言:javascript
复制
<TextBlock Name="textBlock1" TextWrapping="Wrap">
  <Bold>TextBlock</Bold> is designed to be <Italic>lightweight</Italic>,
  and is geared specifically at integrating <Italic>small</Italic> portions
  of flow content into a UI.
</TextBlock>
<Button Width="100" Margin="10">Click Me</Button>
<TextBlock  Name="textBlock2" 
  TextWrapping="Wrap" Background="AntiqueWhite" TextAlignment="Center"
>
  By default, a TextBlock provides no UI beyond simply displaying its contents.
</TextBlock>
<Button Width="100" Margin="10">Click Me</Button>

C#

代码语言:javascript
复制
TextBlock textBlock1 = new TextBlock();
TextBlock textBlock2 = new TextBlock();

textBlock1.TextWrapping = textBlock2.TextWrapping = TextWrapping.Wrap;
textBlock2.Background = Brushes.AntiqueWhite;
textBlock2.TextAlignment = TextAlignment.Center;

textBlock1.Inlines.Add(new Bold(new Run("TextBlock")));
textBlock1.Inlines.Add(new Run(" is designed to be "));
textBlock1.Inlines.Add(new Italic(new Run("lightweight")));
textBlock1.Inlines.Add(new Run(", and is geared specifically at integrating "));
textBlock1.Inlines.Add(new Italic(new Run("small")));
textBlock1.Inlines.Add(new Run(" portions of flow content into a UI."));

textBlock2.Text =
    "By default, a TextBlock provides no UI beyond simply displaying its contents.";
票数 21
EN

Stack Overflow用户

发布于 2018-04-27 20:17:28

试试这个:

textBlock1.FontWeight = Windows.UI.Text.FontWeights.Bold;

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1797958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档