mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
block
This commit is contained in:
@@ -3,11 +3,12 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class BlockDiagramViewModel : DiagramViewModel
|
||||
public class BlockDiagramViewModel : DiagramViewModel, IBlockDiagramViewModel
|
||||
{
|
||||
public BlockDiagramViewModel()
|
||||
{
|
||||
@@ -54,25 +55,86 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
#region Block使用
|
||||
private void ExecutedAddNextCommand(object parameter)
|
||||
{
|
||||
if (parameter is Tuple<BlockDesignerItemViewModel, BlockDesignerItemViewModel> blockTuple)
|
||||
if (parameter is BlockNextPara blockItemPara)
|
||||
{
|
||||
DoCommandManager.DoNewCommand(this.ToString(),
|
||||
() => {
|
||||
blockItemPara.Item.AddNext(blockItemPara.Next);
|
||||
},
|
||||
() => {
|
||||
blockItemPara.Item.RemoveNext();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void ExecutedRemoveNextCommand(object parameter)
|
||||
{
|
||||
|
||||
if (parameter is BlockNextPara blockItemPara)
|
||||
{
|
||||
DoCommandManager.DoNewCommand(this.ToString(),
|
||||
() => {
|
||||
blockItemPara.Item.RemoveNext();
|
||||
},
|
||||
() => {
|
||||
blockItemPara.Item.AddNext(blockItemPara.Next);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ExecutedAddChildCommand(object parameter)
|
||||
{
|
||||
|
||||
if (parameter is BlockContainerPara blockContainerPara)
|
||||
{
|
||||
DoCommandManager.DoNewCommand(this.ToString(),
|
||||
() => {
|
||||
blockContainerPara.Item.AddChild(blockContainerPara.Child, blockContainerPara.Container);
|
||||
},
|
||||
() => {
|
||||
blockContainerPara.Item.RemoveChild(blockContainerPara.Child, blockContainerPara.Container);
|
||||
});
|
||||
}
|
||||
}
|
||||
private void ExecutedRemoveChildCommand(object parameter)
|
||||
{
|
||||
|
||||
if (parameter is BlockContainerPara blockContainerPara)
|
||||
{
|
||||
DoCommandManager.DoNewCommand(this.ToString(),
|
||||
() => {
|
||||
blockContainerPara.Item.RemoveChild(blockContainerPara.Child, blockContainerPara.Container);
|
||||
},
|
||||
() => {
|
||||
blockContainerPara.Item.AddChild(blockContainerPara.Child, blockContainerPara.Container);
|
||||
});
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class BlockNextPara
|
||||
{
|
||||
public BlockDesignerItemViewModel Item
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public BlockDesignerItemViewModel Next
|
||||
{
|
||||
get;set;
|
||||
}
|
||||
}
|
||||
|
||||
public class BlockContainerPara
|
||||
{
|
||||
public BlockDesignerItemViewModel Item
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public BlockDesignerItemViewModel Child
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public BlockItemsContainerInfo Container
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user