Silverlight RichTextBox XAML 格式化示例

在2010年4月,Silverlight的新特性中有许多示例。这些示例包括演示RichTextBox控件的例子。然而,发现大多数示例都集中在运行时方面,比如在运行时选择用户输入的文本、格式化它等。如果在Google上搜索这个控件,会发现大多数都是“文本编辑器”和“记事本”的例子,使用Silverlight RichTextBox。查看了MSDN文档,发现它也相当基础(除非计算了运行时的逻辑绑定)。

那么,如果想通过XAML在设计时学习格式化SilverlightRichTextBox,该怎么办呢?为了解决这个问题,创建了一个简单的例子。再次强调,这个例子可能看起来也很基础,但它解决了目标——纯粹的XAML代码演示如何格式化RichTextBox。还添加了一些其他元素,比如图片和超链接,以增加示例的丰富性。

以下是一个XAML代码示例,它创建了一个RichTextBox,其中包含一些文本、一张图片和一个超链接。为了放置和格式化文本,首先使用了Paragraph元素,然后是Run元素。请注意,Paragraph元素也有一个Foreground属性,但在这里没有使用。相反,使用了Run元素,因为它更适合格式化小块文本。RichTextBox控件还允许添加Span、Bold、Underline等类型的元素,但这里没有使用。Run元素派生自Inline元素,Inline不能直接在RichTextBox控件中使用,但可以使用Run元素。

LineBreak元素用于引入换行。图片放置在InlineUIContainer中。Hyperlink的NavigateUri属性设置为想要重定向用户的链接。可以在RichTextBox控件中拥有任意数量的Paragraph和Run元素。通过Paragraph和Run元素的组合,可以以各种方式格式化文本。

<UserControl x:Class="RichTextDemo.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="500" d:DesignWidth="600"> <Grid x:Name="LayoutRoot" Background="White" Height="450" Width="550"> <RichTextBox HorizontalAlignment="Left" Margin="10,12,0,0" Name="contentBox" VerticalAlignment="Top" Height="330" Width="390" IsReadOnly="True"> <Paragraph FontFamily="Georgia" FontSize="12" TextAlignment="Justify"> This photograph depicting a <Run Text=" flower closeup " FontStyle="Italic" FontWeight="ExtraBold" /> belongs to the <Run Text=" macro " Foreground="Red" FontWeight="ExtraBold"/> genre of photography. Macro photography requires a great deal of precision. You need a sharp pair of lenses to capture <Run Text=" high quality closeups. " Foreground="DarkBlue" FontWeight="ExtraBold"/> <LineBreak/> <InlineUIContainer> <Image Height="143" HorizontalAlignment="Left" Margin="144,82,0,0" Name="image1" Stretch="Uniform" VerticalAlignment="Top" Width="196" Source="/RichTextDemo;component/7.jpg" /> </InlineUIContainer> <LineBreak/> <LineBreak/> <Hyperlink NavigateUri="http://en.wikipedia.org/wiki/Macro_photography"> Click here to read about macro photography </Hyperlink> </Paragraph> </RichTextBox> </Grid> </UserControl>
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485