2

Я не могу понять, как сделать выделение в новом RichTextBox, у меня есть идея, что мне нужно преобразовать выделение в тип абзаца, который поддерживает выравнивание, но не может показаться, что это понятно. Ни один из примеров Silverlight не имеет такого, но я уверен, что это возможно.
У меня есть этот код, который не работает - поскольку мне кажется, что выбор должен быть абзацем, поскольку он всегда возвращается, а исключение «Значение не входит в ожидаемый диапазон».Как выполнить выравнивание выделения с помощью RichTextBox в Silverlight 4?

Editor.Selection.SetPropertyValue(Paragraph.TextAlignmentProperty, TextAlignment.Left) 

Я убедиться, что я проверить на корректное первых, код, как следующие работы для "Жирный":

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, однако мне нужно сделать это программно на основе выбора - например, в WordPad.

ответ

1

Похоже, что RichTextArea еще не поддерживает это в бета-версии Silverlight 4, хотя можно добавить элементы RichTextArea с элементами абзаца с определенным TextAlignment в коде и XAML, вы не можете сделать это на выделенном элементе, так как это не выставить элемент «Блок» или «Абзац», выбранный только «Запуск».

+1

Это уже не так в RC - SelectionAlignment - это поддержка RichTextArea. – RoguePlanetoid

2

Используя выпущенную версию silverlight 4, я сделал это. Editor.Selection.ApplyPropertyValue(Paragraph.TextAlignmentProperty, TextAlignment.Left)

Это предполагает, что в настоящий момент выбран ваш текст, который вы будете оправдывать.

+0

Действительно, это было исправлено в кандидате на выпуск - спасибо, что вы разместили его здесь, так как я забыл об этом вопросе. У меня было ощущение, что в то время это была только бета-версия. – RoguePlanetoid

Смежные вопросы