如何使用Silverlight 4中的RichTextBox进行选择对齐?

如何使用Silverlight 4中的RichTextBox进行选择对齐?,silverlight,properties,silverlight-4.0,richtextbox,selection,Silverlight,Properties,Silverlight 4.0,Richtextbox,Selection,我似乎不知道如何在新的RichTextBox中进行选择对齐,我有一个想法,我需要将选择转换为支持对齐的段落类型,但似乎无法解决这个问题。Silverlight示例中没有一个具有此功能,但我相信这是可能的。 我有这个代码,它不工作-因为我认为我需要选择是一个段落,因为它总是返回和异常“值不在预期范围内” 我确保首先检查有效的选择,以下代码适用于“粗体”: XAML中的示例: <Paragraph TextAlignment="Right">Example</Paragraph&

我似乎不知道如何在新的RichTextBox中进行选择对齐,我有一个想法,我需要将选择转换为支持对齐的段落类型,但似乎无法解决这个问题。Silverlight示例中没有一个具有此功能,但我相信这是可能的。
我有这个代码,它不工作-因为我认为我需要选择是一个段落,因为它总是返回和异常“值不在预期范围内”

我确保首先检查有效的选择,以下代码适用于“粗体”:


XAML中的示例:

<Paragraph TextAlignment="Right">Example</Paragraph>
示例

上述内容在RichTextBox的内容中起作用,但是我需要根据选择以编程方式执行此操作,就像在写字板中一样。

看起来RichTextArea在Silverlight 4 beta版中还不支持此功能,虽然可以在代码和XAML中使用特定的TextAlignment来填充RichTextArea中的段落元素,但您不能在选择中进行填充,因为这不会暴露仅在“运行”时选择的“块”或“段落”元素。

使用silverlight 4发布的版本,我就是这样做的。
Editor.Selection.ApplyPropertyValue(段落.TextAlignmentProperty,TextAlignment.Left)


这假设您将要证明的文本当前已被选中。

事实上,这在候选版本中已被修复-感谢您在这里发布它,因为我已经忘记了这个问题-我当时有一种感觉,这是一个仅测试版的问题。在RC中不再是这种情况-SelectionSigning是RichTextArea。
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()
<Paragraph TextAlignment="Right">Example</Paragraph>