Я использую RichEditBox в приложении UWP, и мне нужно включать и отключать его в программном обеспечении для выполнения некоторых задач. Проблема, с которой я сталкиваюсь, заключается в том, что когда я отключаю, а затем снова включаю его, любое цветовое форматирование теряется. Я создал здесь простой пример, чтобы опробовать проблему. Вы можете ввести текст, окрасить его в красный цвет, а затем отключить и снова включить. Цвет становится черным.
XAML
<StackPanel>
<StackPanel Orientation="Horizontal">
<Button Content="Disable" Click="OnDisable"/>
<Button Content="Enable" Click="OnEnable"/>
<Button Content="Red" Click="OnRed"/>
</StackPanel>
<RichEditBox Name="RichEditor" Width="500" Height="200"/>
</StackPanel>
C#
private void OnDisable(object sender, RoutedEventArgs e)
{
RichEditor.IsEnabled = false;
}
private void OnEnable(object sender, RoutedEventArgs e)
{
RichEditor.IsEnabled = true;
}
private void OnRed(object sender, RoutedEventArgs e)
{
RichEditor.Document.Selection.CharacterFormat.ForegroundColor = Colors.Red;
}
Это похоже на ошибку в компоненте RichEditBox, и мне интересно, есть ли у кого-нибудь обходной путь, позволяющий мне включать и отключать текст без потери цветового форматирования. Ниже приведен пример воспроизведения проблемы.