前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Silverlight 4 RC]RichTextBox概览

[Silverlight 4 RC]RichTextBox概览

作者头像
用户1172164
发布2018-01-16 11:35:03
6950
发布2018-01-16 11:35:03
举报

我们知道在silverlight 4 beta的时候增加了RichTextArea的控件。做过RIA开发的朋友富媒体在动态文本的表现渲染方面是很弱的。我们看到的很多富媒体网站比如新闻模块,如果想要图文混排的板式的话很多都是新开一个Html页面来做的展示。

这里来看看silverlight 4 RC都带来了什么。

首先RichTextArea更名为RichTextBox。

RichTextBox他定义在“System.Windows.Controls”,这也就是说RichTextBox是silverlight内置的一个控件了,你并不需要再去添加“Silverlight Toolkit”的引用。

这里添加一个RichTextBox

代码语言:javascript
复制
<grid x:name="LayoutRoot" background="White">
    <richtextbox>
</richtextbox></grid>

RichTextBox支持了一种“模块”内容。这里模块可以包含“段落”元素(Paragraph elements)。这里段落元素有可以包含内嵌元素比如:粗体、链接、下划线。通过Inline的UI容器他还能包含图像元素、按钮控件等。

代码语言:javascript
复制
<richtextbox x:name="RTB">
    <paragraph>
        RichTextBox包含<bold>粗体</bold>内容.
    </paragraph>
</richtextbox>

这里在增加一段Paragraph

代码语言:javascript
复制
<richtextbox x:name="RTB">
    <paragraph>
        RichTextBox包含<bold>粗体</bold>内容.
    </paragraph>
    <paragraph>
       显示链接<hyperlink navigateuri="http://nasa.cnblogs.com">《我和未来有约会》</hyperlink> .
    </paragraph>
</richtextbox>

加入图形元素

代码语言:javascript
复制
<richtextbox x:name="RTB">
    <paragraph>
        RichTextBox包含<bold>粗体</bold>内容.
    </paragraph>
    <paragraph>
       显示链接<hyperlink navigateuri="http://nasa.cnblogs.com">《我和未来有约会》</hyperlink> .
    </paragraph>
    <paragraph>
        显示图形
        <inlineuicontainer>
            <img source="./doodler.png" height="50" width="50">
        </inlineuicontainer>
    </paragraph>
</richtextbox>

另外RichTextBox还有只读属性用来做显示。

其次RichTextBox增加了很多的API,比如:当前光标位置position、当前选中文本selection等等......

一个简单的Demo

代码语言:javascript
复制
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);
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-03-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档