private static void OnParentScaleYPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e) { // Put some update logic here... ZoomElement thisLabel = (ZoomElement)source; if (thisLabel.ParentScaleY != 0) { double tempScale = (1.0 / thisLabel.ParentScaleY) * (thisLabel.Scale); thisLabel.SetScaleY(tempScale); } }
private static void OnScaleChanged(DependencyObject source, DependencyPropertyChangedEventArgs e) { ZoomElement thisLabel = (ZoomElement)source;//get this label if (Math.Abs((double)e.NewValue - (double)e.OldValue) < 0.00001) { return; } if (thisLabel.ParentScaleX != 0) { double tempScaleX = (1.0 / thisLabel.ParentScaleX) * (thisLabel.Scale); thisLabel.SetScaleX(tempScaleX); } if (thisLabel.ParentScaleY != 0) { double tempScaleY = (1.0 / thisLabel.ParentScaleY) * (thisLabel.Scale); thisLabel.SetScaleY(tempScaleY); } thisLabel.ReinitializePosition(null, null);//update the label position }