我注意到WinForms RichTextBox有一个ZoomFactor
属性,我认为这正是我想要的 - 不幸的是,这似乎完全没有WPF变种。
有什么方法可以实现相同的功能(增加/减少整个文档的可见文本大小而不实际更改基础RTF)?
更新:虽然在RichTextBox上设置LayoutTransform似乎在非常简单的设置下工作,但它与设置ZoomFactor并不完全相同,因为有几件事情:
alt text http://img822.imageshack.us/img822/298/3b7e4e04afc943ff85b2a98.png
更新2:好的,我发现位图缩放是由于将TextOptions.TextFormattingMode设置为Display
而不是Ideal
造成的。将其设置为理想状态会重新引入矢量缩放。
然而仍然有那个讨厌的滚动条!我的意思是一个选项是禁用RichTextBox上的滚动并将其包装在ScrollViewer中,但我想知道这是否会降低性能。我也想知道如果我这样做,文字包装是否仍然有效。
答案 0 :(得分:3)
我注意到WinForms RichTextBox有 我假设一个ZoomFactor属性 正是我想要的 - 不幸的是 这似乎完全没有了 WPF变种。
您需要回过头来阅读WPF的基础知识。逐项。在TRANSFORMS停下来。 TextBox中缺少ZoomFactor的原因是每个WPF CONTROL都可以通过通用标准度量进行TRANSFORMED(缩放,三维变换)和ANIMATED,因此不需要特殊的方法。
答案 1 :(得分:3)
这应该让你开始:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DockPanel LastChildFill="True">
<Slider x:Name="Scale" DockPanel.Dock="Bottom" Minimum="1" Maximum="20"/>
<RichTextBox>
<RichTextBox.LayoutTransform>
<ScaleTransform ScaleX="{Binding ElementName=Scale, Path=Value}" ScaleY="{Binding ElementName=Scale, Path=Value}"/>
</RichTextBox.LayoutTransform>
</RichTextBox>
</DockPanel>
</P
答案 2 :(得分:0)
看看FlowDocumentReader因为我认为这有你想要的东西。