我似乎无法弄清楚如何在新的RichTextBox中进行选择对齐,我有一个想法,我需要将选择转换为支持对齐的Paragraph类型,但似乎无法解决这个问题。 Silverlight示例都没有这个,但我确信它是可能的。
我有这个代码,这不起作用 - 因为我认为我需要选择一个段落,因为它总是返回和异常“值不在预期的范围内”。
Editor.Selection.SetPropertyValue(Paragraph.TextAlignmentProperty, TextAlignment.Left)
我确保首先检查有效选择,代码如下所示“Bold”:
If Editor.Selection.Text.Length > 0 Then ' Text Selected
If TypeOf Editor.Selection.GetPropertyValue(Run.FontWeightProperty) Is FontWeight _
AndAlso DirectCast(Editor.Selection.GetPropertyValue(Run.FontWeightProperty), FontWeight) = FontWeights.Normal Then
Editor.Selection.SetPropertyValue(Run.FontWeightProperty, FontWeights.Bold)
Else
Editor.Selection.SetPropertyValue(Run.FontWeightProperty, FontWeights.Normal)
End If
End If
Editor.Focus()
XAML中的示例:
<Paragraph TextAlignment="Right">Example</Paragraph>
以上工作在RichTextBox的内容中,但我需要根据选择以编程方式执行此操作 - 如在写字板中。
答案 0 :(得分:2)
使用silverlight 4发布的版本,这就是我的做法。
Editor.Selection.ApplyPropertyValue(Paragraph.TextAlignmentProperty, TextAlignment.Left)
这假设您当前正在选择的文本是正确的。
答案 1 :(得分:1)
看起来RichTextArea在Silverlight 4测试版中不支持这一点,尽管可以使用Paragraph元素在代码和XAML中填充具有特定TextAlignment的RichTextArea,但是不能在Selection上执行此操作“块”或“段落”元素仅选择“运行”。