private static void OnBoxTemplateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Overview overview = (Overview)d; overview.Box = null; overview.BindBox(); }
public override void LayoutDiagram(LayoutInitial init, bool immediate) { Overview ov = this.Diagram as Overview; if (ov != null && ov.UsesObservedNodeLocation) { return; } base.LayoutDiagram(init, immediate); }
private static void OnObservedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Overview overview = (Overview)d; if (e.NewValue is Overview) { overview.Observed = e.OldValue as Diagram; } else { overview.UnbindFromDiagram(e.OldValue as Diagram); overview.BindToDiagram(e.NewValue as Diagram); } }
public override void DoMouseMove() { if (this.Active) { Overview ov = this.Diagram as Overview; if (ov != null && ov.Observed != null) { Diagram diag = ov.Observed; DiagramPanel obpanel = diag.Panel; if (obpanel != null) { Rect viewport = obpanel.ViewportBounds; Point pt = ov.LastMousePointInModel; obpanel.Position = new Point(pt.X - viewport.Width / 2, pt.Y - viewport.Height / 2); } } } }
private static void OnUsesObservedNodeLocationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Overview ov = (Overview)d; ov.EnsureLayoutManager(); }