Я использую "FlowDocumentReader", чтобы показать текст, то XAML код "FlowDocumentReader" проста:(C# WPF) Как изменить цвет фона textrange?
<FlowDocumentReader x:Name="myDocumentReader" ViewingMode="Scroll" VerticalAlignment="Stretch" ContextMenuOpening="myDocumentReader_ContextMenuOpening" Margin="0,0,0,0" Grid.Row="1" PreviewMouseDown="myDocumentReader_PreviewMouseDown">
<FlowDocument x:Name="flow" LineHeight="{Binding ElementName=slider2, Path=Value}" PagePadding="{Binding ElementName=slider, Path=Value}">
<Paragraph x:Name="paraBodyText"/>
</FlowDocument>
</FlowDocumentReader>
И я загружаю .rtf документы "FlowDocumentReader", как это:
paraBodyText.Inlines.Clear();
string temp = File.ReadAllText(dlg.FileName, Encoding.UTF8);
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(temp));
TextRange textRange = new TextRange(flow.ContentStart, flow.ContentEnd);
textRange.Load(stream, DataFormats.Rtf);
myDocumentReader.Document = flow;
Теперь, мой вопрос: как получить цвет фона строки в «flowdocumentreader»?
Я знаю, как искать строку, но я не знаю, как проверить задний цвет такой строки. Есть ли способ сделать это? Я пытался получить TextRange строки, а затем сделать это:
TextRange selection = ....; // this is the textrange of the string
var a = selection.GetPropertyValue(TextElement.BackgroundProperty)
Однако, переменная «а» всегда возвращает нуль. :(
Заранее спасибо за ваше время
EDIT:... .rtf документ, который я загрузил в «FlowDocumentReader» имеет цвета фона Некоторые зеленые и некоторые желтые
Спасибо за ответ. Документ .rtf, который я загрузил в «FlowDocumentReader», имеет цвета фона, некоторые из них зеленые, а некоторые - желтые. Но я все еще получал нулевые значения, когда я проходил через textrange. –
Не могли бы вы предоставить образец этого .rtf тогда? – mm8
Да, конечно. Документ .rtf содержит только одно предложение, как показано в моем отредактированном сообщении. Это только для тестирования, и только 1 КБ. BTW, пожалуйста, проигнорируйте содержимое документа .rtf, это «является» документом rtf. :) –