[Silverlight 4 RC]RichTextBox概览
阅读: 791 评论: 7 作者: 王喆(nasa) 发表于 2010-03-16 11:11 原文链接
我们知道在silverlight 4 beta的时候增加了RichTextArea的控件。做过RIA开发的朋友富媒体在动态文本的表现渲染方面是很弱的。我们看到的很多富媒体网站比如新闻模块,如果想要图文混排的板式的话很多都是新开一个Html页面来做的展示。这里来看看silverlight 4 RC都带来了什么。
首先RichTextArea更名为RichTextBox。
RichTextBox他定义在“System.Windows.Controls”,这也就是说RichTextBox是silverlight内置的一个控件了,你并不需要再去添加“Silverlight Toolkit”的引用。
这里添加一个RichTextBox
RichTextBox支持了一种“模块”内容。这里模块可以包含“段落”元素(Paragraph elements)。这里段落元素有可以包含内嵌元素比如:粗体、链接、下划线。通过Inline的UI容器他还能包含图像元素、按钮控件等。
RichTextBox包含粗体内容.
![photo](http://blog.nasawz.com/wp-content/uploads/2010/03/df5kjk97_1031gxq2b2hs_b.png)
这里在增加一段Paragraph
RichTextBox包含粗体内容.
显示链接《我和未来有约会》 .
![photo](http://blog.nasawz.com/wp-content/uploads/2010/03/df5kjk97_1032f62hz6dk_b.png)
加入图形元素
RichTextBox包含粗体内容.
显示链接《我和未来有约会》 .
显示图形
![photo](http://blog.nasawz.com/wp-content/uploads/2010/03/df5kjk97_10332xwjqqfg_b.png)
另外RichTextBox还有只读属性用来做显示。
其次RichTextBox增加了很多的API,比如:当前光标位置position、当前选中文本selection等等......
一个简单的Demo
private void BtnBold_Click(object sender, System.Windows.RoutedEventArgs e) { object o = RTB.Selection.GetPropertyValue(TextElement.FontWeightProperty); if (o.ToString() != "Bold") RTB.Selection.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold); } private void BtnItalic_Click(object sender, System.Windows.RoutedEventArgs e) { object o = RTB.Selection.GetPropertyValue(TextElement.FontWeightProperty); if (o.ToString() != "Italic") RTB.Selection.ApplyPropertyValue(TextElement.FontStyleProperty, FontStyles.Italic); } private void BtnUnderline_Click(object sender, System.Windows.RoutedEventArgs e) { RTB.Selection.ApplyPropertyValue(Inline.TextDecorationsProperty, TextDecorations.Underline); }