Поиск долгое время для привязки некоторого RTF-текста к элементу управления RichEditBox для приложений Windows Store. Даже он должен функционировать в режиме привязки TwoMay. ...WinRt: привязка строки RTF к RichEditBox
2
A
ответ
9
... наконец, я нашел следующее решение. Я создал унаследованный элемент управления из исходного элемента управления RichEditBox с помощью параметра DependencyProperty RtfText.
public class RichEditBoxExtended : RichEditBox
{
public static readonly DependencyProperty RtfTextProperty =
DependencyProperty.Register(
"RtfText", typeof (string), typeof (RichEditBoxExtended),
new PropertyMetadata(default(string), RtfTextPropertyChanged));
private bool _lockChangeExecution;
public RichEditBoxExtended()
{
TextChanged += RichEditBoxExtended_TextChanged;
}
public string RtfText
{
get { return (string) GetValue(RtfTextProperty); }
set { SetValue(RtfTextProperty, value); }
}
private void RichEditBoxExtended_TextChanged(object sender, RoutedEventArgs e)
{
if (!_lockChangeExecution)
{
_lockChangeExecution = true;
string text;
Document.GetText(TextGetOptions.None, out text);
if (string.IsNullOrWhiteSpace(text))
{
RtfText = "";
}
else
{
Document.GetText(TextGetOptions.FormatRtf, out text);
RtfText = text;
}
_lockChangeExecution = false;
}
}
private static void RtfTextPropertyChanged(DependencyObject dependencyObject,
DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
var rtb = dependencyObject as RichEditBoxExtended;
if (rtb == null) return;
if (!rtb._lockChangeExecution)
{
rtb._lockChangeExecution = true;
rtb.Document.SetText(TextSetOptions.FormatRtf, rtb.RtfText);
rtb._lockChangeExecution = false;
}
}
}
Это решение работает для меня - возможно, для других. :-)
Известные проблемы: странные поведения в VirtualizingStackPanel.VirtualizationMode = "Recycling"
Смежные вопросы
- 1. WinRT Содержимое RichEditBox как текст HTML
- 2. Binding RichEditBox в .rtf файлы
- 3. WinRT ListView привязка к Items.Count
- 4. Сохранение RTF с изображением RichEditBox в файл
- 5. UWP/WinRT: как прокрутить RichEditBox к позиции курсора?
- 6. Как полностью очистить/установить текст RichEditBox от WinRT?
- 7. Привязка к источнику тока («{. Binding}») в WinRT
- 8. WinRT привязка изображения к строке или StorageFile
- 9. WinRT привязка события CaliburnMicro к ListPickerFlyout
- 10. Как вы выделяете выделенный текст в WinRT RichEditBox?
- 11. Привязка строки к типу
- 12. WinRt: Как добавить и удалить ссылки на RichEditBox?
- 13. Приложение WinRT
- 14. Переопределение сочетаний клавиш на RichEditBox?
- 15. WinRt: привязка twoway для Appbar не работает
- 16. Автоматическая привязка строки рефакторинга к замене строки?
- 17. Копирование содержимого из WebView под WinRT
- 18. Самый простой способ печати документов RichEditBox
- 19. WPF: привязка к SelectedItem строки в DataGrid
- 20. Нокаут CSS привязка к выбранной таблице строки
- 21. Привязка к коллекции строки с преобразователем
- 22. WPF привязка к значению строки для TextBlock
- 23. Как создать приложение для чтения книг WinRT
- 24. Преобразование строки/*. Rtf в PDF
- 25. Загрузить содержимое WebView в приложении WInRT
- 26. WinRT decimal для форматирования строки
- 27. Получение ScrollPosition для RichEditBox
- 28. Выделение слов в RichEditBox
- 29. RichEditBox перенос текста UWP
- 30. XAML RichEditBox lines count