mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-08 02:06:40 +08:00
Mind
This commit is contained in:
@@ -30,6 +30,11 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
{
|
||||
// we only move DesignerItems
|
||||
designerItems = designerItem.Root.SelectedItems.ToList();
|
||||
if (designerItem is IGroupable groupable)
|
||||
{
|
||||
designerItems.AddRange(designerItem.Root.SelectionService.GetGroupMembers(groupable).OfType<SelectableDesignerItemViewModelBase>());
|
||||
}
|
||||
|
||||
if (designerItem is ConnectionViewModel connector)
|
||||
{
|
||||
designerItems.Add(connector.SourceConnectorInfo.DataItem);
|
||||
@@ -44,6 +49,8 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
designerItems = new List<SelectableDesignerItemViewModelBase> { designerItem };
|
||||
}
|
||||
|
||||
designerItems = designerItems.Distinct().ToList();
|
||||
|
||||
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
|
||||
{
|
||||
item.BeginDo = true;
|
||||
|
||||
@@ -115,7 +115,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
|
||||
private void DragLeft(double scale, DesignerItemViewModelBase item, SelectionService selectionService)
|
||||
{
|
||||
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item).Cast<DesignerItemViewModelBase>();
|
||||
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item, false).Cast<DesignerItemViewModelBase>();
|
||||
|
||||
double groupLeft = item.Left + item.ItemWidth;
|
||||
foreach (DesignerItemViewModelBase groupItem in groupItems)
|
||||
@@ -129,7 +129,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
|
||||
private void DragTop(double scale, DesignerItemViewModelBase item, SelectionService selectionService)
|
||||
{
|
||||
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item).Cast<DesignerItemViewModelBase>();
|
||||
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item, false).Cast<DesignerItemViewModelBase>();
|
||||
double groupBottom = item.Top + item.ItemHeight;
|
||||
foreach (DesignerItemViewModelBase groupItem in groupItems)
|
||||
{
|
||||
@@ -142,7 +142,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
|
||||
private void DragRight(double scale, DesignerItemViewModelBase item, SelectionService selectionService)
|
||||
{
|
||||
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item).Cast<DesignerItemViewModelBase>();
|
||||
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item, false).Cast<DesignerItemViewModelBase>();
|
||||
|
||||
double groupLeft = item.Left;
|
||||
foreach (DesignerItemViewModelBase groupItem in groupItems)
|
||||
@@ -157,7 +157,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
|
||||
private void DragBottom(double scale, DesignerItemViewModelBase item, SelectionService selectionService)
|
||||
{
|
||||
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item).Cast<DesignerItemViewModelBase>();
|
||||
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item, false).Cast<DesignerItemViewModelBase>();
|
||||
double groupTop = item.Top;
|
||||
foreach (DesignerItemViewModelBase groupItem in groupItems)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user