副标题:使用WPF Magnifier工具放大图片
介绍
本文介绍如何在WPF中使用放大镜控件。
放大镜控件可用于在运行时放大部分屏幕。它可以用来放大文本和图像。放大镜不是Visual Studio中的内置控件。要使用它,必须将对Xceed.Wpf.Toolkit.dll文件的引用添加到WPF项目中。Xceed.Wpf.Toolkit.dll文件可以从其Github或者Nuget站点下载。
在本文中,我演示了使用一个简单的WPF 应用程序来使用WPF放大镜控件,此应用程序是使用Visual Studio Enterprise 2019创建的。
注意
要在代码中使用放大镜控件,项目中需要对Xceed.Wpf.Toolkit.dll文件的引用。此外,还必须向主窗口元素添加以下属性:
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
属性
FrameType
框架类型,获取或设置放大镜使用的帧类型。
IsFrozen
是否冻结,获取放大镜是否冻结。冻结后,放大镜将不会更新其位置,也不会跟随鼠标的位置。
Radius
半径,获取或设置放大镜的半径/大小。
Target
目标,获取或设置放大镜附加到的UIElement。
ZoomFactor
缩放比例,获取或设置放大元素的数量。取值范围是0.0〜1.0。数字越小,放大得越远。1.0是普通文本或原始大小的100%,0.0是您可以放大的最大值。
使用代码
以下是应用程序的XAML代码:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d"
Title="MainWindow" Height="550" Width="800">
BorderThickness="1"
Radius="75"
ZoomFactor="0.3256"/>
上面的XAML代码创建了一个窗口,其中包含设置放大镜缩放级别的Slider滑块控件,用于将缩放级别控制在0.1到0.9之间,这个地方有个问题,直接绑定滑块的Value属性,居然无法产生效果,所以只能后台设置。另外还添加了图像控件和放大镜控件。
下面是后台代码
using System.Windows;
namespace WPF实现简单的图片放大器
{
///
/// MainWindow.xaml 的交互逻辑
///
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void sli_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
{
if (mag!=null)
{
mag.ZoomFactor = sli.Value;
}
}
}
}
摘要
在这篇短文中,我们已经了解了如何使用开源的WPF ToolKit工具自定义一个简单地图片放大工具。码农就是要善于使用工具嘛,没说啥都要自己写噻。祝各位好运,编码愉快,摆脱996,回归955!
领取专属 10元无门槛券
私享最新 技术干货