private void AlignRight_Executed(object sender, ExecutedRoutedEventArgs e) { var selectedItems = from item in SelectionService.CurrentSelection.OfType <DesignerItem>() where item.ParentID == Guid.Empty select item; if (selectedItems.Count() > 1) { double right = Canvas.GetLeft(selectedItems.First()) + selectedItems.First().Width; foreach (DesignerItem item in selectedItems) { double delta = right - (Canvas.GetLeft(item) + item.Width); foreach (DesignerItem di in SelectionService.GetGroupMembers(item)) { Canvas.SetLeft(di, Canvas.GetLeft(di) + delta); } } } }
private void AlignBottom_Executed(object sender, ExecutedRoutedEventArgs e) { var selectedItems = from item in SelectionService.CurrentSelection.OfType <DesignerItem>() where item.ParentID == Guid.Empty select item; if (selectedItems.Count() > 1) { double bottom = Canvas.GetTop(selectedItems.First()) + selectedItems.First().Height; foreach (DesignerItem item in selectedItems) { double delta = bottom - (Canvas.GetTop(item) + item.Height); foreach (DesignerItem di in SelectionService.GetGroupMembers(item)) { Canvas.SetTop(di, Canvas.GetTop(di) + delta); } } } }