0

我正在尝试在 Windows 商店应用程序中加载 rtf 文件,但是该文件带有样式,有时会应用该样式,而有时则不会。这种行为是完全随机的(如果我一遍又一遍地重新运行应用程序,有时我使用的容器会使用该样式,而其他的则不会)。

RichEditBox只使用 a 是因为RichTextBlock 不支持 rtf 文件

RichEditBox在 MainPage.xaml 中有一个

<Grid>
    <RichEditBox 
        x:Name="InfoContentView"
        VerticalAlignment="Stretch"
        BorderThickness="0"
        Background="{x:Null}"
        Foreground="#FFFFFF"/>
</Grid>

然后我像这样注入 rtf 文件:

 this.InfoContentView.IsReadOnly = false;
 this.InfoContentView.Document.SetText(Windows.UI.Text.TextSetOptions.FormatRtf, 
                                       textContent);
 this.InfoContentView.IsReadOnly = true;

Textcontent从应用程序包中加载。我认为这是可行的,因为我可以完美地看到文本,甚至链接也可以正常工作。

我试图在每次执行之前将文档文本清空。另外,我添加了一个按钮来刷新行为,它在第一次执行时不起作用,但是在我按下按钮几次之后,它是一致的。

我只希望行为是一致的。我不在乎是否必须在文件或应用程序中格式化文件。

rtf 文件非常简单,您可以在此处下载 rtf 文件。

4

1 回答 1

0

嗯,这是不言而喻的。我不知道这是一个错误还是我不应该这样做。

该网格位于另一个具有Visibility = Collapsed. 事实证明,如果我将 Visiblity 设置为已折叠,然后将其更改为可见,它将具有这种随机行为。我已经使用不透明度隐藏了它,然后它就可以工作了。虽然使用这个解决方案我不得不做一些 hacky 的东西,所以当不透明度设置为 0 时我可以在那个区域进行触摸。

我对我的回答不满意,但它可能会节省其他人的时间。我会接受任何解释这种行为的答案。

于 2013-03-25T09:51:33.157 回答