-2

xamlまたはrtfで文字列を取得しましたが、ac#wpfrichtextboxで取得する方法を知りたいです。

2つの文字列は次のようになり、そのうちの1つを使用します。

   string xaml = "<FlowDocument xml:space="preserve" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><Paragraph>HOOFDDORP - Het zou helemaal niet noodzakelijk zijn voor <Run FontStyle="italic">SimCity </Run>om altijd met het internet verbonden te zijn, omdat er geen simulatie op de servers plaatsvindt. </Paragraph></FlowDocument>"

   string rtf = "{\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2{\fonttbl{\f0\fcharset0 Times New Roman;}{\f2\fcharset0 Segoe UI;}}{\colortbl\red0\green0\blue0;\red255\green255\blue255;}\loch\hich\dbch\pard\plain\ltrpar\itap0{\lang1033\fs18\f2\cf0 \cf0\ql{\f2 {\ltrch HOOFDDORP - Het zou helemaal niet noodzakelijk zijn voor }{\i\ltrch SimCity }{\ltrch om altijd met het internet verbonden te zijn, omdat er geen simulatie op de servers plaatsvindt. }\li0\ri0\sa0\sb0\fi0\ql\par}}}"
4

2 に答える 2

1
public void populateRTF(string yourRTFString)
{
    MemoryStream memStream = new MemoryStream(ASCIIEncoding.Default.GetBytes(yourRTFString));
    yourRichTextBox.Selection.Load(memStream, DataFormats.Rtf);
}

を使用して呼び出すpopulateRTF(rtf)

また、RTF 文字列をエスケープする必要があります。

string rtf = @"{\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2{\fonttbl{\f0\fcharset0 Times New Roman;}{\f2\fcharset0 Segoe UI;}}{\colortbl\red0\green0\blue0;\red255\green255\blue255;}\loch\hich\dbch\pard\plain\ltrpar\itap0{\lang1033\fs18\f2\cf0 \cf0\ql{\f2 {\ltrch HOOFDDORP - Het zou helemaal niet noodzakelijk zijn voor }{\i\ltrch SimCity }{\ltrch om altijd met het internet verbonden te zijn, omdat er geen simulatie op de servers plaatsvindt. }\li0\ri0\sa0\sb0\fi0\ql\par}}}"
于 2013-03-18T14:07:13.363 に答える
0

以下を使用できます。

  string content = "";
  textBox.Document.SetText(TextSetOptions.FormatRtf, content);
于 2013-03-18T14:56:31.213 に答える