RichTextBox (WPF)에는 문자열 속성 "Text"가 없습니다.
RichTextBox의 텍스트를 설정 / 가져 오려고하지만 테스트를 원할 때 텍스트가 속성 목록에 없습니다.
C # (.net framework 3.5 SP1)에서 코드 숨김을 사용하고 있습니다.
RichTextBox test = new RichTextBox();
가질 수 없다 test.Text(?)
어떻게 그것이 가능할 수 있는지 아십니까?
RichTextBox 텍스트 를 설정 하려면
richTextBox1.Document.Blocks.Clear();
richTextBox1.Document.Blocks.Add(new Paragraph(new Run("Text")));
RichTextBox 텍스트 를 얻으려면 :
string richText = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd).Text;
의를 RichTextBox 사이에 혼란이 있었다 System.Windows.Forms 와의 System.Windows.Control은
WPF를 사용하면서 컨트롤에서 하나를 사용하고 있습니다. 거기에는 Text 속성이 없으며 텍스트를 얻으려면 다음 줄을 사용해야합니다.
string myText = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text;
감사
WPF를 RichTextBox는이 Document
내용을 설정하기위한 특성 라 MSDN을 :
// Create a FlowDocument to contain content for the RichTextBox.
FlowDocument myFlowDoc = new FlowDocument();
// Add paragraphs to the FlowDocument.
myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 1")));
myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 2")));
myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 3")));
RichTextBox myRichTextBox = new RichTextBox();
// Add initial content to the RichTextBox.
myRichTextBox.Document = myFlowDoc;
이 AppendText
방법이 끝나면 모든 방법을 사용할 수 있습니다 .
희망이 도움이됩니다.
string GetString(RichTextBox rtb)
{
var textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
return textRange.Text;
}
두 가지 확장 방법을 사용하면 매우 쉽습니다.
public static class Ext
{
public static void SetText(this RichTextBox richTextBox, string text)
{
richTextBox.Document.Blocks.Clear();
richTextBox.Document.Blocks.Add(new Paragraph(new Run(text)));
}
public static string GetText(this RichTextBox richTextBox)
{
return new TextRange(richTextBox.Document.ContentStart,
richTextBox.Document.ContentEnd).Text;
}
}
Text
WPF RichTextBox 컨트롤 에는 속성 이 없습니다 . 다음은 모든 텍스트를 가져 오는 한 가지 방법입니다.
TextRange range = new TextRange(myRTB.Document.ContentStart, myRTB.Document.ContentEnd);
string allText = range.Text;
다음을 수행하는 것은 어떻습니까?
_richTextBox.SelectAll();
string myText = _richTextBox.Selection.Text;
RichTextBox rtf = new RichTextBox();
System.IO.MemoryStream stream = new System.IO.MemoryStream(ASCIIEncoding.Default.GetBytes(yourText));
rtf.Selection.Load(stream, DataFormats.Rtf);
또는
rtf.Selection.Text = yourText;
"확장 WPF 툴킷"은 이제 Text 속성을 가진 richtextbox를 제공합니다.
텍스트를 다른 형식 (XAML, RTF 및 일반 텍스트)으로 가져 오거나 설정할 수 있습니다.
링크는 다음과 같습니다. 확장 WPF 툴킷 RichTextBox
필자의 경우 RTF 텍스트를 일반 텍스트로 바꿔야했습니다. GiangLP 답변에서와 같이 (Xceed WPF Toolkit을 사용하여 수행 한 작업); 확장 방법으로 내 코드를 설정하십시오.
public static string RTFToPlainText(this string s)
{
// for information : default Xceed.Wpf.Toolkit.RichTextBox formatter is RtfFormatter
Xceed.Wpf.Toolkit.RichTextBox rtBox = new Xceed.Wpf.Toolkit.RichTextBox(new System.Windows.Documents.FlowDocument());
rtBox.Text = s;
rtBox.TextFormatter = new Xceed.Wpf.Toolkit.PlainTextFormatter();
return rtBox.Text;
}
이것에 따르면 Text 속성이 있습니다.
http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox_members.aspx
You can also try the "Lines" property if you want the text broken up as lines.
참고URL : https://stackoverflow.com/questions/957441/richtextbox-wpf-does-not-have-string-property-text
'development' 카테고리의 다른 글
ASP.NET MVC의 RSS 피드 (0) | 2020.07.27 |
---|---|
C ++ 개인 상속을 언제 사용해야합니까? (0) | 2020.07.27 |
EditorFor () 및 html 속성 (0) | 2020.07.27 |
Python으로 ssh를 통해 명령 수행 (0) | 2020.07.27 |
일치하지 않는 익명의 define () 모듈 (0) | 2020.07.26 |