dev*_*os1 6 .net c# wpf richtextbox zooming
我注意到 WinForms RichTextBox 有一个ZoomFactor属性,我认为这正是我想要的——不幸的是,WPF 变体似乎完全缺少这个属性。
有什么方法可以实现相同的功能(增加/减少整个文档的可见文本大小而不实际更改底层 RTF)?
更新:虽然在 RichTextBox 上设置 LayoutTransform 似乎可以在非常简单的设置下工作,但由于以下几点,它与设置 ZoomFactor 并不完全相同:
更新 2:Display好的,我发现位图缩放是由将 TextOptions.TextFormattingMode 设置为而不是引起的Ideal。将其设置为理想状态会重新引入矢量缩放。
然而仍然有那个讨厌的滚动条!我的意思是,一种选择是禁用 RichTextBox 上的滚动并将其包装在 ScrollViewer 中,但我想知道这是否会降低性能。我还想知道如果我这样做,文本换行是否仍然有效。
这应该可以帮助您开始:
<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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7126 次 |
| 最近记录: |