如何在 WPF 中创建非圆形放大镜?这必须适用于控件而不仅仅是图像。我在网上找到的每个示例要么仅是循环的,要么仅适用于图像。
例如,我有一个滑块,我想将拇指变成一个矩形放大区域以显示放大的刻度(因为我的刻度显示在 Slider 轨道本身,而不是它的下方)。我已经创建了所有必要的样式我只是缺少放大拇指下方内容的能力(因为拇指位于控件/显示器的顶部)
<Slider Ticks="{Binding MyCollection}" />
谢谢
制作自己的“放大”控件非常容易。您可以将 aVisualBrush
与Visual
从源(您想要放大的)绘制到 plain 的属性一起使用Rectangle
。请参阅Ian G on Tap网站上的Using VisualBrush to Show a Magnifying Glass页面作为示例。
更好的是,这是一个非常简单的 a 示例,它在 a的右列中VisualBrush
绘制 a ,从 a 的左列放大a 。您可以根据自己的喜好对其进行调整:Rectangle
Grid
Image
Grid
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Name="Image" Source="Images/BlackLogo.ico" Width="150" Height="150" />
<Rectangle Grid.Column="1">
<Rectangle.Fill>
<VisualBrush Visual="{Binding ., ElementName=Image}"
Viewport="50,100,300,300" ViewportUnits="Absolute" />
</Rectangle.Fill>
</Rectangle>
</Grid>