1

我一直在查看 Silverlight 4 中 RichTextBox 控件的功能。

我还没有找到在 RichTextBox 中加载和保存内容的任何示例。

任何人都遇到过或可以阐明它吗?

该控件有一个 BlocksCollection ,我想可以使用XamlReader来加载一堆标记,假设标记有一个类型为 的顶级节点Block。然后将该块添加到 Blocks 集合中。在这种情况下,RichTextBox 费心有一个“集合”似乎很遗憾,为什么不简单地作为一个顶级Block项目呢?

无论如何,仍然需要保存 RichTextBox 的内容,我不知道从哪里开始?

我敢肯定,我肯定在这里遗漏了明显的东西,但除非加载和保存数据到 RichTextBox 和从 RichTextBox 中保存数据如果不容易的话,我看不出我们如何实际使用它。

编辑

感谢 DaveB 的回答,我发现了关于DocumentPersister. 但是,在 MSDN 文档中找不到对此类的引用,也无法通过对象浏览器搜索在已安装的 dll 中找到它。任何人,任何人?

4

5 回答 5

2

查看 有关 RichTextArea 控件的本教程。持久化内容在练习 2,任务 3 中进行了描述。本教程的代码包括一个帮助器类。

编辑:DocumentPersister关于教程中引用 的类提出了问题。它可以在本教程的源代码下载中找到。我认为作者创造了它。通过查看代码,您将了解如何持久化您的数据。唯一的缺点是,如果您的数据包含图像,则帮助程序类不支持它们。这是下载链接。

http://ecn.channel9.msdn.com/o9/learn/Silverlight4/Labs/TextEditor/Source.zip

于 2010-01-20T17:02:07.830 回答
2

只是为了更新已接受答案中的链接,它已移至此处: http ://channel9.msdn.com/learn/courses/Silverlight4/NewFeatures/RichTextBox/Introduction/

于 2010-06-04T19:51:15.483 回答
1

小心不要在 Silverlight 4 RichTextArea 上投入过多,直到确认它将支持完整的 RichEdit 功能,例如它目前在 SL Beta 1 中所做的项目符号点/列表等……尽管我确定它会在 RTM 中?

于 2010-01-21T23:03:10.627 回答
0

我有一个来自微软的样本来保存我必须找到的内容,我明天会做。我在 10 月得到了这个示例,当时甚至没有发布 beta 4,因为没有可用的教程。由于那个项目我没有在silverlight上工作过,所以我不知道现在有多少教程可用。

好的,我找到了。我应该在哪里上传?

于 2010-02-18T21:05:13.683 回答
0

将文本加载到 RichTextBox 的一种选择是使用 XamlReader。根据您计划加载的文本,您可能需要在其周围添加标签

public class TextToXamlConverter
{
    private const String ParaHead = "<Paragraph xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">";
    private const String ParaTail = "</Paragraph>";

    static public Paragraph Convert(string text)
    {
        String formattedText = ParaHead + text + ParaTail;
        Paragraph p = (Paragraph)XamlReader.Load(formattedText);
        return p;
    }
}
于 2010-07-25T14:56:38.537 回答