diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ResizeThumb.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ResizeThumb.cs index ec82214b0c..c33389f0da 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ResizeThumb.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ResizeThumb.cs @@ -92,7 +92,7 @@ namespace ICSharpCode.WpfDesign.Designer.Controls if (checkWidth) this.ResizeThumbVisible = PlacementOperation.GetRealElementSize(parent.AdornedElement).Width > 14; else if (checkHeight) - this.ResizeThumbVisible = PlacementOperation.GetRealElementSize(parent.AdornedElement).Height > 14; + this.ResizeThumbVisible = PlacementOperation.GetRealElementSize(parent.AdornedElement).Height > 14; } return base.ArrangeOverride(arrangeBounds); } diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/LineExtensionBase.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/LineExtensionBase.cs index 75bfaed8dd..89f3c6ef0e 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/LineExtensionBase.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/LineExtensionBase.cs @@ -90,20 +90,9 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions protected override void OnRemove() { this.ExtendedItem.PropertyChanged -= OnPropertyChanged; - this.Services.Selection.PrimarySelectionChanged -= OnPrimarySelectionChanged; - DependencyPropertyDescriptor.FromProperty(FrameworkElement.HeightProperty, typeof (Shape)) - .RemoveValueChanged(ExtendedItem.View, (s, ev) => ResetWidthHeightProperties()); base.OnRemove(); } - protected void OnPrimarySelectionChanged(object sender, EventArgs e) - { - bool isPrimarySelection = this.Services.Selection.PrimarySelection == this.ExtendedItem; - if (isPrimarySelection) - DependencyPropertyDescriptor.FromProperty(FrameworkElement.HeightProperty, typeof (Shape)) - .AddValueChanged(ExtendedItem.View, (s, ev) => ResetWidthHeightProperties()); - } - #endregion protected void UpdateAdornerVisibility() @@ -186,8 +175,8 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions protected void ResetWidthHeightProperties() { -// ExtendedItem.Properties.GetProperty(FrameworkElement.HeightProperty).Reset(); -// ExtendedItem.Properties.GetProperty(FrameworkElement.WidthProperty).Reset(); + ExtendedItem.Properties.GetProperty(FrameworkElement.HeightProperty).Reset(); + ExtendedItem.Properties.GetProperty(FrameworkElement.WidthProperty).Reset(); } } } diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/LineHandlerExtension.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/LineHandlerExtension.cs index 614016985d..fb7f46ac15 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/LineHandlerExtension.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/LineHandlerExtension.cs @@ -194,8 +194,10 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions } else { - if (drag.IsCanceled) changeGroup.Abort(); - else changeGroup.Commit(); + if (drag.IsCanceled) + changeGroup.Abort(); + else + changeGroup.Commit(); changeGroup = null; } @@ -222,10 +224,8 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions Invalidate(); this.ExtendedItem.PropertyChanged += OnPropertyChanged; - this.Services.Selection.PrimarySelectionChanged += OnPrimarySelectionChanged; resizeBehavior = PlacementOperation.GetPlacementBehavior(extendedItemArray); UpdateAdornerVisibility(); - OnPrimarySelectionChanged(null, null); } #endregion diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PointTrackerPlacementSupport.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PointTrackerPlacementSupport.cs index 93e948bab9..84a80bf512 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PointTrackerPlacementSupport.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PointTrackerPlacementSupport.cs @@ -74,6 +74,9 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions if (Index > 0) { p = pl != null ? pl.Points[Index] : pg.Points[Index]; + + var transform = shape.RenderedGeometry.Transform; + p = transform.Transform(p); } } adorner.Arrange(new Rect(p.X - thumbsize / 2, p.Y - thumbsize / 2, thumbsize, thumbsize)); //thumbsize, thumbsize))); diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PolyLineHandlerExtension.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PolyLineHandlerExtension.cs index 4c0e3f924e..0a9d75e7e7 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PolyLineHandlerExtension.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PolyLineHandlerExtension.cs @@ -176,9 +176,6 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions operation.CurrentContainerBehavior.BeforeSetPosition(operation); operation.CurrentContainerBehavior.SetPosition(info); } - - ResetWidthHeightProperties(); - } void CommitOperation() @@ -204,19 +201,18 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions _selectedThumbs[i].Y = points[i].Y; } ExtendedItem.Properties.GetProperty(pl != null ? Polyline.PointsProperty : Polygon.PointsProperty).SetValue(points); - ResetWidthHeightProperties(); operation.Commit(); operation = null; } else { - changeGroup.Commit(); + if (changeGroup != null) + changeGroup.Commit(); changeGroup = null; } _isResizing = false; - ResetWidthHeightProperties(); Invalidate(); } @@ -339,17 +335,13 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions Invalidate(); - ResetWidthHeightProperties(); - ResetThumbs(); _isDragging = false; extendedItemArray[0] = ExtendedItem; ExtendedItem.PropertyChanged += OnPropertyChanged; - Services.Selection.PrimarySelectionChanged += OnPrimarySelectionChanged; resizeBehavior = PlacementOperation.GetPlacementBehavior(extendedItemArray); UpdateAdornerVisibility(); - OnPrimarySelectionChanged(null, null); } #endregion