1

如何在 WPF 中创建非圆形放大镜?这必须适用于控件而不仅仅是图像。我在网上找到的每个示例要么仅是循环的,要么仅适用于图像。

例如,我有一个滑块,我想将拇指变成一个矩形放大区域以显示放大的刻度(因为我的刻度显示在 Slider 轨道本身,而不是它的下方)。我已经创建了所有必要的样式我只是缺少放大拇指下方内容的能力(因为拇指位于控件/显示器的顶部)

<Slider Ticks="{Binding MyCollection}" />

谢谢

4

1 回答 1

3

制作自己的“放大”控件非常容易。您可以将 aVisualBrushVisual从源(您想要放大的)绘制到 plain 的属性一起使用Rectangle。请参阅Ian G on Tap网站上的Using VisualBrush to Show a Magnifying Glass页面作为示例。

更好的是,这是一个非常简单的 a 示例,它在 a的右列中VisualBrush绘制 a ,从 a 的左列放大a 。您可以根据自己的喜好对其进行调整:RectangleGridImageGrid

<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>

在此处输入图像描述

于 2014-07-17T11:45:44.013 回答