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 간에 혼동이 발생했습니다.윈도우.양식 및 시스템에 있습니다.윈도우.컨트롤
컨트롤에 있는 것을 WPF를 사용하는 것처럼 사용하고 있습니다.여기에는 Text 속성이 없으며 텍스트를 얻으려면 다음 줄을 사용해야 합니다.
string myText = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text;
감사해요.
WPF 리치 텍스트 상자에는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
하지만 그것이 당신이 추구하는 전부라면 방법.
도움이 되길 바랍니다.
다음과 같은 두 가지 확장 방법을 사용하면 매우 쉬워집니다.
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;
string GetString(RichTextBox rtb)
{
var textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
return textRange.Text;
}
RichTextBox rtf = new RichTextBox();
System.IO.MemoryStream stream = new System.IO.MemoryStream(ASCIIEncoding.Default.GetBytes(yourText));
rtf.Selection.Load(stream, DataFormats.Rtf);
OR
rtf.Selection.Text = yourText;
다음을 수행하는 것이 어떻습니까?
_richTextBox.SelectAll();
string myText = _richTextBox.Selection.Text;
"Extended WPF Toolkit"은 이제 Text 속성이 있는 풍부한 텍스트 상자를 제공합니다.
텍스트를 다른 형식(XAML, RTF 및 일반 텍스트)으로 가져오거나 설정할 수 있습니다.
링크는 다음과 같습니다: 확장 WPF 툴킷 리치 텍스트 상자
정말 놀랍게도RichtTextBox
설정된 값과 동일한 값을 반환하지 않습니다!
문자열 설정 방법:
SelectAll()
RichTextBox.Selection.Text = "AA"
다음과 함께 반환:
SelectAll()
Return RichTextBox.Selection.Text
캐리지 리턴과 함께 "AA"를 반환
사용 방법:
Dim Selection = New TextRange(rtbRichTextBox.Document.ContentStart, rtbRichTextBox.Document.ContentEnd)
Selection.Text = "AA"
다음과 함께 반환:
Dim Selection = New TextRange(rtbRichTextBox.Document.ContentStart, rtbRichTextBox.Document.ContentEnd)
Return Selection.Text
동일: "AA"의 경우carriage-return
그RichTextBox
값을 자산으로 반환하지 않습니다. 매우 잘못된 동작입니다!
이 문제를 해결하는 방법은 다음과 같습니다.
Dim Selection = New TextRange(rtbRichTextBox.Document.ContentStart, rtbRichTextBox.Document.ContentEnd.GetPositionAtOffset(-1))
Return Selection.Text
이에 따르면 텍스트 속성이 있습니다.
http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox_members.aspx
텍스트를 줄로 구분하려면 "줄" 속성을 사용해 볼 수도 있습니다.
언급URL : https://stackoverflow.com/questions/957441/richtextbox-wpf-does-not-have-string-property-text
'programing' 카테고리의 다른 글
루비 패스는 레퍼런스입니까, 아니면 값입니까? (0) | 2023.06.04 |
---|---|
현재 표시된 조각을 가져오려면 어떻게 해야 합니까? (0) | 2023.06.04 |
처음 사용한 후에도 할당된(재) 변수(글로벌이어야 함)를 사용하려고 하는 UnboundLocalError (0) | 2023.06.04 |
사용자가 목록 항목을 마우스로 가리킬 때 커서를 손으로 바꾸는 방법은 무엇입니까? (0) | 2023.06.04 |
Angular 6에서 ng serve를 통해 환경을 설정하는 방법 (0) | 2023.06.04 |