如何更改选定文本的样式(例如字体、字体大小、画笔)RichTextBox
?
更新:假设我有一个RichTextBox
和一个工具栏。用户来并在 RichTextBox 框中选择文本并从工具栏更改字体大小。我想更改所选文本的样式。
如何更改选定文本的样式(例如字体、字体大小、画笔)RichTextBox
?
更新:假设我有一个RichTextBox
和一个工具栏。用户来并在 RichTextBox 框中选择文本并从工具栏更改字体大小。我想更改所选文本的样式。
WPF
if (this.TextEditor.Selection.IsEmpty)
this.TextEditor.CurrentFontFamily = SelectedFont;
else
this.TextEditor.Selection.ApplyPropertyValue(TextElement.FontFamilyProperty, SelectedFont);
或另一个 WPF 示例
private void ChangeTextProperty(DependencyProperty dp, string value)
{
if (mainRTB == null) return;
TextSelection ts = richTextBox.Selection;
if (ts!=null)
ts.ApplyPropertyValue(dp, value);
richTextBox.Focus();
}
这是一些示例 Windows 更改字体和字体颜色(不是 wpf)
richTextBox1.SelectionFont = new Font("Tahoma", 12, FontStyle.Bold);
richTextBox1.SelectionColor = System.Drawing.Color.Red;
下面的另一个例子(不是wpf)
private void WriteTextToRichTextBox()
{
// Clear all text from the RichTextBox;
richTextBox1.Clear();
// Set the font for the opening text to a larger Arial font;
richTextBox1.SelectionFont = new Font("Arial", 16);
// Assign the introduction text to the RichTextBox control.
richTextBox1.SelectedText = "The following is a list of bulleted items:" + "\n";
// Set the Font for the first item to a smaller size Arial font.
richTextBox1.SelectionFont = new Font("Arial", 12);
// Specify that the following items are to be added to a bulleted list.
richTextBox1.SelectionBullet = true;
// Set the color of the item text.
richTextBox1.SelectionColor = Color.Red;
// Assign the text to the bulleted item.
richTextBox1.SelectedText = "Apples" + "\n";
// Apply same font since font settings do not carry to next line.
richTextBox1.SelectionFont = new Font("Arial", 12);
richTextBox1.SelectionColor = Color.Orange;
richTextBox1.SelectedText = "Oranges" + "\n";
richTextBox1.SelectionFont = new Font("Arial", 12);
richTextBox1.SelectionColor = Color.Purple;
richTextBox1.SelectedText = "Grapes" + "\n";
// End the bulleted list.
richTextBox1.SelectionBullet = false;
// Specify the font size and string for text displayed below bulleted list.
richTextBox1.SelectionFont = new Font("Arial", 16);
richTextBox1.SelectedText = "Bulleted Text Complete!";
}
对于 WPF RichTextBox,您必须对 TextRange 使用 ApplyPropertyValue 方法。您可以使用 RichTextBox 实例的 Selected 属性获取选定的 TextRange。
var selection = myRichTextBox.Selection;
if (!selection.IsEmpty)
selection.ApplyPropertyValue(TextElement.FontSizeProperty, 10.0);