WPF RichTextBox文本的问题(好的绝对加分)

今天第一次用richtextbox,发现没有text属性,我现在有一个string变量,要如何赋值?拜托你自己先试试,没有这个属性,这是WPF... 今天第一次用richtextbox,发现没有text属性,我现在有一个string变量,要如何赋值?
拜托你自己先试试,没有这个属性,这是WPF
展开
 我来答
Yeshirow
2010-05-03 · TA获得超过340个赞
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:138万
展开全部
RichTextBox 只是一个控件,它所承载的内容由其 Document 属性来呈现.
Document 是一个 FlowDocument 类型.

FlowDocument 是放置块内容的容器 (Blocks), 这里的块是指 非行内的元素(这个我也不知道怎么用中文解释,如果你知道 html 的话,它们就是类似于 DIV 标签,而不能是类似 SPAN 标签的元素). 可用的块级元素只有几个,自己查阅一下 msdn, 块级元素可以再包含块级元素或 行级---Inline derived元素).

[这里的块 和 行,用中文真的不好解释:块 Block-derived
行 - Inline derived]

所以你可以像下面一样将你的 String 放到 Document 中:
myRTB.Document = new FlowDocument(new Paragraph(new Run(myString)));
由于 FlowDocument 是基于块级元素的, 所以它的内容可以由它的 Blocks 属性设定, 上面一行的代码拆解就是:
FlowDocument doc = new FlowDocument();
Paragraph p = new Paragraph(); // Paragraph 类似于 html 的 P 标签
Run r = new Run(myString); // Run 是一个 Inline 的标签
p.Inlines.Add(r);
doc.Blocks.Add(p);
myRTB.Document = doc;

重点: 初始 RichTextBox 的 Document,Document 的 Blocks 可以随意添加,修改,删除内容等。

块级元素(Block-derived elements) 还有其它的,除了 Paragraph 外。
-----------
具体参考可以查阅 关于 WPF 中 Documents 部分的章节。
依岚软件
2010-05-07 · TA获得超过469个赞
知道答主
回答量:72
采纳率:0%
帮助的人:0
展开全部
在XAML中这样写:
<RichTextBox>
<FlowDocument>
<Paragraph>这里加上你的内容(也可以是富文本的,比如<Bold>粗体</Bold>)</Paragraph>
</FlowDocument>
</RichTextBox>

在C#中这样写:
RichTextBox rtb = new RichTextBox();
FlowDocument fd = new FlowDocument();
fd.Blocks.Add(new Paragraph(new Run("文本")));
rtb.Document = fd;

更加复杂的组合应用,您可以自己尝试,基本原理:RichTextBox的文本来源是其Document属性,这个属性是个FlowDocument,能想办法组装一和FlowDocument对象出来就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f0f5e3118
2010-05-02 · TA获得超过405个赞
知道答主
回答量:279
采纳率:0%
帮助的人:245万
展开全部
richtextbox.RichText="test";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式