TextBox 또는 RichTextBox에 넣을 텍스트의 일부분에 대한 색 및 글꼴을 변경하는 방법이 있습니까? 나는 C# WPF를 사용하고있다. 예를 들어, 예를 들어WPF에서 텍스트의 일부 색상 및 글꼴 변경 C#
richTextBox.AppendText("Text1 " + word + " Text2 ");
가변 워드 텍스트 1 텍스트 2에서 다른 색상과 폰트를한다. 그것은 가능하고 어떻게 이것을 할 수 있습니까?
TextBox 또는 RichTextBox에 넣을 텍스트의 일부분에 대한 색 및 글꼴을 변경하는 방법이 있습니까? 나는 C# WPF를 사용하고있다. 예를 들어, 예를 들어WPF에서 텍스트의 일부 색상 및 글꼴 변경 C#
richTextBox.AppendText("Text1 " + word + " Text2 ");
가변 워드 텍스트 1 텍스트 2에서 다른 색상과 폰트를한다. 그것은 가능하고 어떻게 이것을 할 수 있습니까?
당신은 단지 범위로 RTB 내용의 끝 부분을 사용하여, 몇 가지 빠른 색칠을하고 어쩌면 가장 간단한 솔루션에 서식을 적용하려면 , 예.
TextRange rangeOfText1 = new TextRange(richTextBox.Document.ContentEnd, richTextBox.Document.ContentEnd);
rangeOfText1.Text = "Text1 ";
rangeOfText1.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Blue);
rangeOfText1.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
TextRange rangeOfWord = new TextRange(richTextBox.Document.ContentEnd, richTextBox.Document.ContentEnd);
rangeOfWord.Text = "word ";
rangeOfWord.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);
rangeOfWord.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Regular);
TextRange rangeOfText2 = new TextRange(richTextBox.Document.ContentEnd, richTextBox.Document.ContentEnd);
rangeOfText2.Text = "Text2 ";
rangeOfText2.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Blue);
rangeOfText2.ApplyPropertyValue(TextElement.FontWeightProperty, FontWeights.Bold);
당신이 당신에게 당신의 텍스트를 포맷에 큰 유연성을 제공으로 나는 FlowDocument 대한 MSDN 페이지를 읽고 제안, 더 진보 된 솔루션을 찾고 있습니다.
당신은 를 RichTextBox의 문서 속성을 사용하고 그것에 실행를 추가해야합니다.
문서 속성 : http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.document.aspx
실행 : http://msdn.microsoft.com/en-us/library/system.windows.documents.run.aspx
시도해 볼 수 있습니다.
public TestWindow()
{
InitializeComponent();
this.paragraph = new Paragraph();
rich1.Document = new FlowDocument(paragraph);
var from = "user1";
var text = "chat message goes here";
paragraph.Inlines.Add(new Bold(new Run(from + ": "))
{
Foreground = Brushes.Red
});
paragraph.Inlines.Add(text);
paragraph.Inlines.Add(new LineBreak());
this.DataContext = this;
}
private Paragraph paragraph;
은 그래서를 RichTextBox 개체 "rangeOfText1"후
의 문서 속성을 사용하여, "rangeOfWord"와 "rangeOfText2는"완료, 어떻게 그들 CONCAT? – xavendano