Я заметил, что у WinForms RichTextBox есть свойство ZoomFactor
, которое, как я предполагаю, является именно тем, что я хочу - к сожалению, это, похоже, полностью отсутствует в варианте WPF.Возможно ли «увеличить» текст в WPF RichTextBox?
Есть ли способ достичь такой же функциональности (увеличение/уменьшение видимого размера текста всего документа без фактического изменения базового RTF)?
Update: При установке в LayoutTransform на RichTextBox, похоже, работают в очень простых условиях, это не совсем то же самое, как установка ZoomFactor из пары вещей:
- Во-первых, полоса прокрутки увеличено также. Это выглядит глупо.
- Во-вторых, в моем приложении (по какой-то причине, но не в Kaxaml - я исследую это, чтобы выяснить, почему), текст bitmap увеличен, так что он просто расширяет отображаемый текст в отличие от векторно- масштабируя его так, чтобы он был гладким. Вот пример того, что я говорю о (обратите внимание на то, как-большой пользовательской полосы прокрутки):
alt text http://img822.imageshack.us/img822/298/3b7e4e04afc943ff85b2a98.png
Update 2: Хорошо, я обнаружил, что растровое масштабирование было быть вызвано устанавливающих TextOptions .TextFormattingMode до Display
вместо Ideal
. Устанавливая его на идеальное, мы снова вводим векторное масштабирование.
Однако есть еще что надоедливая полоса прокрутки! Я имею в виду, что один из вариантов - отключить прокрутку на RichTextBox и обернуть его в ScrollViewer, но мне интересно, будет ли это ухудшаться. Я также задаюсь вопросом, будет ли обработка текста работать, если я это сделаю.
Перенос текста работает просто отлично. (Более сложная проблема заключается в том, что вы хотите отключить перенос текста и использовать горизонтальную прокрутку.) И производительность не кажется ничем иным, и я не могу думать о причине, которая должна быть. Одна вещь, которую вы, вероятно, захотите сделать, это отредактировать шаблон управления для «RichTextBox», чтобы у него не было каких-либо пограничных хром, так как это тоже масштабируется, что является дорким взглядом на 30-кратное увеличение. –
Моя забота о производительности заключается в том, что, возможно, RichTextBox выполняет какую-то внутреннюю виртуализацию для больших документов, которая не состоялась бы, если бы я вручную ее обернул в ScrollViewer. – devios1
Теперь все работает нормально, за исключением досадного факта, что я не могу использовать режим отображения для RichTextBox (я даже не могу установить его в режим отображения, когда коэффициент масштабирования равен 1.0 из-за ошибки/ограничения RichTextBox и TextOptions), однако это относительно незначительно. До сих пор нет очевидного снижения производительности для больших файлов RTF, но тогда RichTextBox всегда был довольно медленным с большими документами RTF. – devios1