protected override void OnAttached() { base.OnAttached(); AssociatedObject.LayoutUpdated += AssociatedObject_EventHandler; AssociatedObject.Loaded += (s, e) => { var window = VisualTreeWalker.FindParent <Window>(AssociatedObject); window.LocationChanged += (ss, ee) => { if (!BlockReentrance) { ShouldCenter = false; } }; }; }
private void ResizeThumb_DragStarted(object sender, DragStartedEventArgs e) { Item = DataContext as IColumnViewModel; if (Item != null) { ParentItem = VisualTreeWalker.FindParent <ColumnHeader>(this); if (ParentItem != null) { AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(ParentItem); if (adornerLayer != null) { Adorner = new ResizeAdorner(ParentItem); adornerLayer.Add(Adorner); } } Messenger.Default.Send(new DragMessage(this, true)); } e.Handled = true; }