internal static bool AddItemsWithDefaultSize(DesignItem container, DesignItem[] createdItems) { return(AddItemsWithCustomSize(container, createdItems, createdItems.Select(x => new Rect(x.Position, ModelTools.GetDefaultSize(x))).ToList())); }
void Click_WrapInViewbox(object sender, System.Windows.RoutedEventArgs e) { ModelTools.WrapItemsNewContainer(this.designItem.Services.Selection.SelectedItems, typeof(Viewbox)); }
void drag_Changed(DragListener drag) { double dx = 0; double dy = 0; var alignment = (drag.Target as DesignerThumb).Alignment; var delta = drag.Delta; if (alignment.Horizontal == HorizontalAlignment.Left) { dx = -delta.X; } if (alignment.Horizontal == HorizontalAlignment.Right) { dx = delta.X; } if (alignment.Vertical == VerticalAlignment.Top) { dy = -delta.Y; } if (alignment.Vertical == VerticalAlignment.Bottom) { dy = delta.Y; } var designPanel = ExtendedItem.Services.DesignPanel as DesignPanel; if ((Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) && alignment.Horizontal != HorizontalAlignment.Center && alignment.Vertical != VerticalAlignment.Center) { if (dx > dy) { dx = dy; } else { dy = dx; } } var newWidth = Math.Max(0, oldSize.Width + dx); var newHeight = Math.Max(0, oldSize.Height + dy); if (operation.CurrentContainerBehavior is GridPlacementSupport) { var hor = (HorizontalAlignment)this.ExtendedItem .Properties[FrameworkElement.HorizontalAlignmentProperty] .ValueOnInstance; var ver = (VerticalAlignment)this.ExtendedItem.Properties[FrameworkElement.VerticalAlignmentProperty] .ValueOnInstance; if (hor == HorizontalAlignment.Stretch) { this.ExtendedItem.Properties[FrameworkElement.WidthProperty].Reset(); } else { this.ExtendedItem.Properties.GetProperty(FrameworkElement.WidthProperty).SetValue(newWidth); } if (ver == VerticalAlignment.Stretch) { this.ExtendedItem.Properties[FrameworkElement.HeightProperty].Reset(); } else { this.ExtendedItem.Properties.GetProperty(FrameworkElement.HeightProperty).SetValue(newHeight); } } else { ModelTools.Resize(ExtendedItem, newWidth, newHeight); } if (operation != null) { var info = operation.PlacedItems[0]; var result = info.OriginalBounds; if (alignment.Horizontal == HorizontalAlignment.Left) { result.X = Math.Min(result.Right, result.X - dx); } if (alignment.Vertical == VerticalAlignment.Top) { result.Y = Math.Min(result.Bottom, result.Y - dy); } result.Width = newWidth; result.Height = newHeight; info.Bounds = result.Round(); info.ResizeThumbAlignment = alignment; operation.CurrentContainerBehavior.BeforeSetPosition(operation); operation.CurrentContainerBehavior.SetPosition(info); } }
internal static bool AddItemWithDefaultSize(DesignItem container, DesignItem createdItem, Point position) { return(AddItemWithCustomSize(container, createdItem, position, ModelTools.GetDefaultSize(createdItem))); }
void Click_ArrangeBottom(object sender, System.Windows.RoutedEventArgs e) { ModelTools.ArrangeItems(this.designItem.Services.Selection.SelectedItems, ArrangeDirection.Bottom); }
void Click_ArrangeVerticalCentered(object sender, System.Windows.RoutedEventArgs e) { ModelTools.ArrangeItems(this.designItem.Services.Selection.SelectedItems, ArrangeDirection.VerticalMiddle); }
public virtual void SetPosition(PlacementInformation info) { ModelTools.Resize(info.Item, info.Bounds.Width, info.Bounds.Height); }