Мне нужно показать действительно огромное количество текстовых данных в WPF коде. Сначала я попытался использовать TextBox (и, конечно, это было слишком медленно при рендеринге). Теперь я использую FlowDocument - и это потрясающе - но недавно у меня был другой запрос: текст не должен переноситься. Возможно, это не так (document.IsHyphenationEnabled = false
), но я все еще не вижу свою драгоценную горизонтальную полосу прокрутки. если я увеличу масштаб, то текст ... будет дефисен.
public string TextToShow
{
set
{
Paragraph paragraph = new Paragraph();
paragraph.Inlines.Add(value);
FlowDocument document = new FlowDocument(paragraph);
document.IsHyphenationEnabled = false;
flowReader.Document = document;
flowReader.IsScrollViewEnabled = true;
flowReader.ViewingMode = FlowDocumentReaderViewingMode.Scroll;
flowReader.IsPrintEnabled = true;
flowReader.IsPageViewEnabled = false;
flowReader.IsTwoPageViewEnabled = false;
}
}
Вот как я создаю FlowDocument - и вот часть моего элемента управления WPF:
<FlowDocumentReader Name="flowReader" Margin="2 2 2 2" Grid.Row="0" />
Ничего криминального =))
Хотелось бы узнать, как приручить этого зверя - гуглил ничего полезного. Или у вас есть какой-то альтернативный способ показать мегабайты текста, или у текстового поля есть некоторые функции виртуализации, которые мне нужно просто включить. В любом случае, я буду рад услышать ваш ответ!