سؤال

وكيف يمكنني الحصول على النص في RTF من RichTextBox؟ أنا أحاول أن أحصل على مثل هذا، ولكن عدم وجود الممتلكات.

RichTextBox rtb = new RichTextBox();
string s = rtb.Rtf;
هل كانت مفيدة؟

المحلول

لتحصل على XAML الفعلية التي تم إنشاؤها من قبل المستخدم داخل RichTextBox:

   TextRange tr = new TextRange(myRichTextBox.Document.ContentStart,
                                myRichTextBox.Document.ContentEnd);
   MemoryStream ms = new MemoryStream();
   tr.Save(ms, DataFormats.Xaml);
   string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray());

وتحرير: ليس لدي كود أمامي لاختبار، ولكن مثيل من نوع TextRange لديه Save (تيار) أسلوب يأخذ معلمة DataFormats، والتي يمكن DataFormats.Rtf

نصائح أخرى

وهناك 2 الطبقات RichTextBox، واحدة من إطار WinForms عناصر واحدة من إطار برنامج الأغذية العالمي:

System.Windows.Controls.RichTextBox wpfBox;
System.Windows.Forms.RichTextBox winformsBox;

وفقط RichTextBox WinForms عناصر لديها خاصية رتف، والآخر له خاصية الوثيقة التي تحتوي على FlowDocument.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top