/// <summary> /// 加载设备成功 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void Inst_Loaded(object sender, RoutedEventArgs e) { aLayer = AdornerLayer.GetAdornerLayer(PCS931_Viewbox); scaleAdorner = new ScaleAdorner(PCS931_Viewbox); aLayer.Add(scaleAdorner); }
private void Zoom_PreviewMouseWheel(object sender, MouseWheelEventArgs e) { if (!(Keyboard.Modifiers == ModifierKeys.Control)) return; Point pos = e.GetPosition(this); double scaleFactor = 0.0; if (e.Delta > 0) { scaleFactor = e.Delta / 100.0; } else if (e.Delta < 0) { scaleFactor = 100.0 / -e.Delta; } double oldx = PCS931_Viewbox.ActualWidth - pos.X; double oldy = PCS931_Viewbox.ActualHeight - pos.Y; InstAttatch.SetScaleWidth(this, (PCS931_Viewbox.ActualWidth * scaleFactor).ToString()); InstRefresh.Refresh(this); aLayer.Remove(scaleAdorner); scaleAdorner = new ScaleAdorner(PCS931_Viewbox); aLayer.Add(scaleAdorner); scaleAdorner.AdornedElement = PCS931_Viewbox; double dx = oldx * (1 - scaleFactor); double dy = oldy * (1 - scaleFactor); //InstAttatch.SetRelativePos(this,new Point(dx,dy)); }
/// <summary> /// 给设备添加缩放边界 /// </summary> /// <param name="aLayer"></param> /// <param name="vb"></param> public static void AddScaleAdorner(ref AdornerLayer aLayer, ScaleAdorner scaleAdorner) { }