2

我有一个xml代码:

<Paragraph>Download it directly to the <Hyperlink NavigateUri="http://itunes.apple.com/fi/app/goalapp/id502461189?ls=1&mt=8">iTunes Store</Hyperlink> or <Hyperlink NavigateUri="https://market.android.com/details?id=com.strikersoft.meramal.se">Android Market</Hyperlink>. The application is launched for Swedish app store.</Paragraph>

富文本框.Xaml = xml;

但是在这种情况下我有一个错误,那么如何在 Windows Phone 中正确地将 xaml 设置为 RichTextBox?

更新

在此处输入图像描述

4

1 回答 1

3

基于发布的代码的基本用法或 RichTextBox:

<RichTextBox 
    Width="400" Height="400" 
    Background="Transparent" 
    BorderBrush="White" 
    BorderThickness="3">
    <Paragraph>Download it directly to the 
        <Hyperlink NavigateUri="http://itunes.apple.com/fi/app/goalapp/id502461189?ls=1&amp;mt=8" TargetName="_blank">iTunes Store</Hyperlink> 
        or <Hyperlink NavigateUri="https://market.android.com/details?id=com.strikersoft.meramal.se" TargetName="_blank">Android Market</Hyperlink>. 
        The application is launched for Swedish app store.
    </Paragraph>
</RichTextBox>

注意:在创建 URL 时,必须对 URL 进行编码,即在 URL 中使用与号 (&) 时,它们应该创建为&amp;并且NavigateUri需要TargetName="_blank"添加的属性才能在浏览器中打开。

编辑

在代码中设置XAML属性时,xml命名空间需要包含在xml中。将整个 xml 块(并确保如上所述对 URL 进行编码)包装在一个Section节点中:

<Section 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <Paragraph>
    Download it directly to the
    <Hyperlink NavigateUri="http://itunes.apple.com/fi/app/goalapp/id502461189?ls=1&amp;mt=8" TargetName="_blank">iTunes Store</Hyperlink>
    or <Hyperlink NavigateUri="https://market.android.com/details?id=com.strikersoft.meramal.se" TargetName="_blank">Android Market</Hyperlink>.
    The application is launched for Swedish app store.
  </Paragraph>
</Section>

在后面的代码中,确保 XML 是一个字符串,即:

var xml = XDocument.Load("MyDoc.xml");
richTextBox.Xaml = xml.ToString();
于 2012-05-09T14:13:39.683 回答