【问题标题】:RichTextFormat as variable typeRichTextFormat 作为变量类型
【发布时间】:2018-05-22 00:47:46
【问题描述】:

我正在尝试制作一个通用 Windows 平台 (UWP) 程序,其中我有一个 RichEditBox,它允许我为多个单独的对象编写格式丰富的文本。我希望能够单击一个对象,然后显示与该对象关联的文本。

单击对象 -> RichEditBox 以 RTF(富文本格式)显示该对象的文本。

单击另一个对象 -> RichEditBox 现在显示属于最新对象的文本。

目前我只能将输入保存为字符串,但这会丢失输入的格式(特别是单词的颜色)。

如何以允许我保留格式的方式保存我的输入(将数据保存在 RAM 中)?

我可以使用某种变量类型吗?

【问题讨论】:

  • 你的意思是你的旁边可能有一个字符串和一个图像,当你从 REB 中选择字符串/文本时,你也想得到它旁边的图像?
  • 没有。我想要一个变量列表,其中每个变量都保存用户输入的输入的 RTF 文本。使用字符串类型不会这样做,因为它不会保留不同单词的不同颜色。
  • 你的意思是:如果用户键入Hello good morning,你需要有一个单词列表HelloGoodMorning
  • 没有。如果用户键入:“public static main(string [] args)”我希望能够为每个单词设置颜色。示例:蓝色的公共。紫色的静态。为此,我使用 RichEditBox 和 RichTextFormat。现在我想将此输入保存在一个变量中(如字符串),但不会丢失单词的颜色。如何存储(在 RAM 中,而不是在硬盘中) RichTextFormat 中的信息?
  • 它可能看起来有点复杂..但我已经做到了..我会尝试发布答案:)

标签: c# variables uwp richeditbox


【解决方案1】:

找到问题的解决方案。我需要将 RichEditBox 中的输入保存为 InMemoryRandomAccessStream。

public sealed partial class MainPage : Page
{
    // The variable to hold the input
    Windows.Storage.Streams.InMemoryRandomAccessStream stream = 
    new Windows.Storage.Streams.InMemoryRandomAccessStream(); 


    public void storeInput()
    {
        RichEditBox.Document.SaveToStream
        (Windows.UI.Text.TextGetOptions.FormatRtf, stream);
    }
}

【讨论】:

    猜你喜欢
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    相关资源
    最近更新 更多