如何像图像一样缩放用户控件的相对大小(在图像编辑器中)。
示例(100%):
(来源:stegnar.com)
缩小 UC (70%):
(来源:stegnar.com)
好吧,我在图片编辑器中实现了这一点,但我想在 WPF 中。:) 我需要这个来将我的应用程序调整为不同的屏幕分辨率,而没有隐藏(没有滚动条)。
如何像图像一样缩放用户控件的相对大小(在图像编辑器中)。
示例(100%):
(来源:stegnar.com)
缩小 UC (70%):
(来源:stegnar.com)
好吧,我在图片编辑器中实现了这一点,但我想在 WPF 中。:) 我需要这个来将我的应用程序调整为不同的屏幕分辨率,而没有隐藏(没有滚动条)。
您可以尝试放大/缩小其内容以填充可用空间的 ViewBox 控件。
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="Window1">
<Grid>
<Viewbox StretchDirection="Both" Stretch="Uniform">
<local:UserControl1 Height="600" Width="600"/>
</Viewbox>
</Grid>
您可以将整个容器放入 ViewBox
<Viewbox StretchDirection="Both" Stretch="Uniform">
<Grid>...</Grid>
</Viewbox>
您不必将每个文本块都放入其中!
使用 Viewbox(如 Milan Nankov 所说)是一个好主意。我必须警告您的一件事是它还会放大或缩小其他视觉方面。
例如,尺寸为 200 X 1000 的文本框与放大 10 倍的尺寸为 20 X 100 的文本框非常不同。
WPF 提供了许多布局选项,可以根据容器的大小更改控件的尺寸。但它不会改变文本的大小。Viewbox 克服了这个问题,但它引入了另一个问题。检查下图,它在缩放之前和之后在视图框中显示了相同的文本框。
可以使用的一个技巧是将每个文本块放在一个视图框中。但我想这将是一个矫枉过正,我真的没有任何支持这个把戏。请自己检查并回复是否实用。
另一个技巧可能是将控件的高度绑定到字体大小。在这种情况下,我们将需要一个转换器。请参考这个回复.. Resize font in TextBox in Grid