我想使它,使您只能放大和缩小一定的数额,我添加什么做这一点
private void main_MouseWheel(object sender, MouseWheelEventArgs e)
{
MatrixTransform? m = grid.RenderTransform as MatrixTransform;
Point pos1 = e.GetPosition(grid);
double scale = e.Delta >= 0 ? 1.1 : 1 / 1.1;
Matrix mm = m.Matrix;
mm.ScaleAt(scale, scale, pos1.X, pos1.Y);
m.Matrix = mm;
}
这是用于缩放到网格上的鼠标位置的代码
<Grid>
<Viewbox>
<Grid x:Name="grid">
<Grid.RenderTransform>
<MatrixTransform/>
</Grid.RenderTransform>
</Grid>
</Viewbox>
</Grid>
这是网格的xaml。
1条答案
按热度按时间d8tt03nd1#
根据预定义的最小值和最大值检查
Matrix
。或者使用
ScaleTransform
:XAML文件: