去掉几个引用的dll,避免新手困扰

This commit is contained in:
艾竹
2024-02-01 22:56:01 +08:00
parent f2a1e39403
commit 3569ccb931
6 changed files with 7 additions and 545 deletions

View File

@@ -129,49 +129,11 @@
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Serializable\AIStudio.Wpf.DiagramDesigner.Serializable.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Block\AIStudio.Wpf.Block.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Logical\AIStudio.Wpf.Logical.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Mind\AIStudio.Wpf.Mind.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Script\AIStudio.Wpf.Script.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.SFC\AIStudio.Wpf.SFC.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0-windows'">
<Reference Include="AIStudio.Wpf.Script.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Script\Dlls\net5.0-windows\AIStudio.Wpf.Script.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-windows'">
<Reference Include="AIStudio.Wpf.Script.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Script\Dlls\net6.0-windows\AIStudio.Wpf.Script.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<Reference Include="AIStudio.Wpf.Script.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Script\Dlls\net461\AIStudio.Wpf.Script.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0-windows'">
<Reference Include="AIStudio.Wpf.Block.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Block\Dlls\net5.0-windows\AIStudio.Wpf.Block.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-windows'">
<Reference Include="AIStudio.Wpf.Block.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Block\Dlls\net6.0-windows\AIStudio.Wpf.Block.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<Reference Include="AIStudio.Wpf.Block.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Block\Dlls\net461\AIStudio.Wpf.Block.Core.dll</HintPath>
</Reference>
</ItemGroup>
</ItemGroup>
<ItemGroup>
<Resource Include="Icons\App.ico" />

View File

@@ -14,10 +14,6 @@
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.SFC;component/Themes/SFCNode.xaml"/>
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Mind;component/Themes/MindNode.xaml"/>
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Mind;component/Themes/Generic.xaml"/>
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Script.Core;component/Themes/RoslynScriptViewModel.xaml" />
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Script;component/Themes/ColorBoxFactoryScriptViewModel.xaml" />
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Script;component/Themes/ColorBoxCollectorScriptViewModel.xaml" />
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Block.Core;component/Themes/BlockItemViewModel.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>

View File

@@ -1,257 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using AIStudio.Wpf.Block;
using AIStudio.Wpf.Block.Core.ViewModels;
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramDesigner;
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
internal class BlockViewModel : PageViewModel
{
public BlockViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
}
public BlockViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
}
protected override void InitDiagramViewModel()
{
base.InitDiagramViewModel();
DiagramViewModel.DiagramOption.LayoutOption.PageSizeOrientation = PageSizeOrientation.Horizontal;
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = false;
}
protected override void Init(bool initNew)
{
base.Init(initNew);
#region
//运动
BlockDesignerItemViewModel MoveNode = new MoveNode(DiagramViewModel) { Name = nameof(MoveNode), Left = 28, Top = 28 };
DiagramViewModel.Add(MoveNode);
BlockDesignerItemViewModel TurnRightNode = new TurnRightNode(DiagramViewModel) { Name = nameof(TurnRightNode), Left = 28, Top = 68 };
DiagramViewModel.Add(TurnRightNode);
BlockDesignerItemViewModel TurnLeftNode = new TurnLeftNode(DiagramViewModel) { Name = nameof(TurnLeftNode), Left = 28, Top = 108 };
DiagramViewModel.Add(TurnLeftNode);
BlockDesignerItemViewModel MoveToNode = new MoveToNode(DiagramViewModel) { Name = nameof(MoveToNode), Left = 28, Top = 148 };
DiagramViewModel.Add(MoveToNode);
BlockDesignerItemViewModel MoveToPointNode = new MoveToPointNode(DiagramViewModel) { Name = nameof(MoveToPointNode), Left = 28, Top = 188 };
DiagramViewModel.Add(MoveToPointNode);
BlockDesignerItemViewModel TimeMoveToNode = new TimeMoveToNode(DiagramViewModel) { Name = nameof(TimeMoveToNode), Left = 28, Top = 228 };
DiagramViewModel.Add(TimeMoveToNode);
BlockDesignerItemViewModel TimeMoveToPointNode = new TimeMoveToPointNode(DiagramViewModel) { Name = nameof(TimeMoveToPointNode), Left = 28, Top = 268 };
DiagramViewModel.Add(TimeMoveToPointNode);
BlockDesignerItemViewModel FaceToNode = new FaceToNode(DiagramViewModel) { Name = nameof(FaceToNode), Left = 28, Top = 308 };
DiagramViewModel.Add(FaceToNode);
BlockDesignerItemViewModel FaceToMouseNode = new FaceToMouseNode(DiagramViewModel) { Name = nameof(FaceToMouseNode), Left = 28, Top = 348 };
DiagramViewModel.Add(FaceToMouseNode);
BlockDesignerItemViewModel PointXAddNode = new PointXAddNode(DiagramViewModel) { Name = nameof(PointXAddNode), Left = 28, Top = 388 };
DiagramViewModel.Add(PointXAddNode);
BlockDesignerItemViewModel PointXSetNode = new PointXSetNode(DiagramViewModel) { Name = nameof(PointXSetNode), Left = 28, Top = 428 };
DiagramViewModel.Add(PointXSetNode);
BlockDesignerItemViewModel PointYAddNode = new PointYAddNode(DiagramViewModel) { Name = nameof(PointYAddNode), Left = 28, Top = 468 };
DiagramViewModel.Add(PointYAddNode);
BlockDesignerItemViewModel PointYSetNode = new PointYSetNode(DiagramViewModel) { Name = nameof(PointYSetNode), Left = 28, Top = 508 };
DiagramViewModel.Add(PointYSetNode);
BlockDesignerItemViewModel BorderBounceNode = new BorderBounceNode(DiagramViewModel) { Name = nameof(BorderBounceNode), Left = 28, Top = 548 };
DiagramViewModel.Add(BorderBounceNode);
BlockDesignerItemViewModel RotationMethodNode = new RotationMethodNode(DiagramViewModel) { Name = nameof(RotationMethodNode), Left = 28, Top = 588 };
DiagramViewModel.Add(RotationMethodNode);
BlockDesignerItemViewModel PointXNode = new PointXNode(DiagramViewModel) { Name = nameof(PointXNode), Left = 28, Top = 628 };
DiagramViewModel.Add(PointXNode);
BlockDesignerItemViewModel PointYNode = new PointYNode(DiagramViewModel) { Name = nameof(PointYNode), Left = 28, Top = 668 };
DiagramViewModel.Add(PointYNode);
BlockDesignerItemViewModel DirectionNode = new DirectionNode(DiagramViewModel) { Name = nameof(DirectionNode), Left = 28, Top = 708 };
DiagramViewModel.Add(DirectionNode);
BlockDesignerItemViewModel SayTimeNode = new SayTimeNode(DiagramViewModel) { Name = nameof(SayTimeNode), Left = 288, Top = 28 };
DiagramViewModel.Add(SayTimeNode);
BlockDesignerItemViewModel SayNode = new SayNode(DiagramViewModel) { Name = nameof(SayNode), Left = 288, Top = 68 };
DiagramViewModel.Add(SayNode);
BlockDesignerItemViewModel ThinkTimeNode = new ThinkTimeNode(DiagramViewModel) { Name = nameof(ThinkTimeNode), Left = 288, Top = 108 };
DiagramViewModel.Add(ThinkTimeNode);
BlockDesignerItemViewModel ThinkBlockNode = new ThinkBlockNode(DiagramViewModel) { Name = nameof(ThinkBlockNode), Left = 288, Top = 148 };
DiagramViewModel.Add(ThinkBlockNode);
BlockDesignerItemViewModel ChangeLookNode = new ChangeLookNode(DiagramViewModel) { Name = nameof(ChangeLookNode), Left = 288, Top = 188 };
DiagramViewModel.Add(ChangeLookNode);
BlockDesignerItemViewModel NextLookNode = new NextLookNode(DiagramViewModel) { Name = nameof(NextLookNode), Left = 288, Top = 228 };
DiagramViewModel.Add(NextLookNode);
BlockDesignerItemViewModel ChangeBackgroundNode = new ChangeBackgroundNode(DiagramViewModel) { Name = nameof(ChangeBackgroundNode), Left = 288, Top = 268 };
DiagramViewModel.Add(ChangeBackgroundNode);
BlockDesignerItemViewModel NextBackgroundNode = new NextBackgroundNode(DiagramViewModel) { Name = nameof(NextBackgroundNode), Left = 288, Top = 308 };
DiagramViewModel.Add(NextBackgroundNode);
BlockDesignerItemViewModel AddSizeNode = new AddSizeNode(DiagramViewModel) { Name = nameof(AddSizeNode), Left = 288, Top = 348 };
DiagramViewModel.Add(AddSizeNode);
BlockDesignerItemViewModel SetSizeNode = new SetSizeNode(DiagramViewModel) { Name = nameof(SetSizeNode), Left = 288, Top = 388 };
DiagramViewModel.Add(SetSizeNode);
BlockDesignerItemViewModel ClearEffectNode = new ClearEffectNode(DiagramViewModel) { Name = nameof(ClearEffectNode), Left = 288, Top = 428 };
DiagramViewModel.Add(ClearEffectNode);
BlockDesignerItemViewModel ShowEffectNode = new ShowNode(DiagramViewModel) { Name = nameof(ShowNode), Left = 288, Top = 468 };
DiagramViewModel.Add(ShowEffectNode);
BlockDesignerItemViewModel HideEffectNode = new HideNode(DiagramViewModel) { Name = nameof(HideNode), Left = 288, Top = 508 };
DiagramViewModel.Add(HideEffectNode);
BlockDesignerItemViewModel BringToNode = new BringToNode(DiagramViewModel) { Name = nameof(BringToNode), Left = 288, Top = 548 };
DiagramViewModel.Add(BringToNode);
BlockDesignerItemViewModel BringLayerNode = new BringLayerNode(DiagramViewModel) { Name = nameof(BringLayerNode), Left = 288, Top = 588 };
DiagramViewModel.Add(BringLayerNode);
BlockDesignerItemViewModel LookNode = new LookNode(DiagramViewModel) { Name = nameof(LookNode), Left = 288, Top = 628 };
DiagramViewModel.Add(LookNode);
BlockDesignerItemViewModel BackgroundNode = new BackgroundNode(DiagramViewModel) { Name = nameof(BackgroundNode), Left = 288, Top = 668 };
DiagramViewModel.Add(BackgroundNode);
BlockDesignerItemViewModel SizeNode = new SizeNode(DiagramViewModel) { Name = nameof(SizeNode), Left = 288, Top = 708 };
DiagramViewModel.Add(SizeNode);
BlockDesignerItemViewModel PlaySoundCompleteNode = new PlaySoundCompleteNode(DiagramViewModel) { Name = nameof(PlaySoundCompleteNode), Left = 448, Top = 28 };
DiagramViewModel.Add(PlaySoundCompleteNode);
BlockDesignerItemViewModel PlaySoundNode = new PlaySoundNode(DiagramViewModel) { Name = nameof(PlaySoundNode), Left = 448, Top = 68 };
DiagramViewModel.Add(PlaySoundNode);
BlockDesignerItemViewModel StopAllSoundNode = new StopAllSoundNode(DiagramViewModel) { Name = nameof(StopAllSoundNode), Left = 448, Top = 108 };
DiagramViewModel.Add(StopAllSoundNode);
BlockDesignerItemViewModel AddSoundEffectNode = new AddSoundEffectNode(DiagramViewModel) { Name = nameof(AddSoundEffectNode), Left = 448, Top = 148 };
DiagramViewModel.Add(AddSoundEffectNode);
BlockDesignerItemViewModel SetSoundEffectNode = new SetSoundEffectNode(DiagramViewModel) { Name = nameof(SetSoundEffectNode), Left = 448, Top = 188 };
DiagramViewModel.Add(SetSoundEffectNode);
BlockDesignerItemViewModel ClearSoundEffectNode = new ClearSoundEffectNode(DiagramViewModel) { Name = nameof(ClearSoundEffectNode), Left = 448, Top = 228 };
DiagramViewModel.Add(ClearSoundEffectNode);
BlockDesignerItemViewModel AddVolumeNode = new AddVolumeNode(DiagramViewModel) { Name = nameof(AddVolumeNode), Left = 448, Top = 268 };
DiagramViewModel.Add(AddVolumeNode);
BlockDesignerItemViewModel SetVolumeNode = new SetVolumeNode(DiagramViewModel) { Name = nameof(SetVolumeNode), Left = 448, Top = 308 };
DiagramViewModel.Add(SetVolumeNode);
BlockDesignerItemViewModel VolumeNode = new VolumeNode(DiagramViewModel) { Name = nameof(VolumeNode), Left = 448, Top = 348 };
DiagramViewModel.Add(VolumeNode);
BlockDesignerItemViewModel StartNode = new StartNode(DiagramViewModel) { Name = nameof(StartNode), Left = 638, Top = 28 };
DiagramViewModel.Add(StartNode);
BlockDesignerItemViewModel KeyboardPressNode = new KeyboardPressNode(DiagramViewModel) { Name = nameof(KeyboardPressNode), Left = 638, Top = 88 };
DiagramViewModel.Add(KeyboardPressNode);
BlockDesignerItemViewModel WhenRoleClickedNode = new WhenRoleClickedNode(DiagramViewModel) { Name = nameof(WhenRoleClickedNode), Left = 638, Top = 148 };
DiagramViewModel.Add(WhenRoleClickedNode);
BlockDesignerItemViewModel WhenBackgroundSwitchNode = new WhenBackgroundSwitchNode(DiagramViewModel) { Name = nameof(WhenBackgroundSwitchNode), Left = 638, Top = 208 };
DiagramViewModel.Add(WhenBackgroundSwitchNode);
BlockDesignerItemViewModel WhenGreaterThanNode = new WhenGreaterThanNode(DiagramViewModel) { Name = nameof(WhenGreaterThanNode), Left = 638, Top = 268 };
DiagramViewModel.Add(WhenGreaterThanNode);
BlockDesignerItemViewModel WhenReceivedMessageNode = new WhenReceivedMessageNode(DiagramViewModel) { Name = nameof(WhenReceivedMessageNode), Left = 638, Top = 328 };
DiagramViewModel.Add(WhenReceivedMessageNode);
BlockDesignerItemViewModel BroadcastMessageNode = new BroadcastMessageNode(DiagramViewModel) { Name = nameof(BroadcastMessageNode), Left = 638, Top = 388 };
DiagramViewModel.Add(BroadcastMessageNode);
BlockDesignerItemViewModel BroadcastMessageAndWaitingNode = new BroadcastMessageAndWaitingNode(DiagramViewModel) { Name = nameof(BroadcastMessageAndWaitingNode), Left = 638, Top = 448 };
DiagramViewModel.Add(BroadcastMessageAndWaitingNode);
BlockDesignerItemViewModel WaitTimeNode = new WaitTimeNode(DiagramViewModel) { Name = nameof(WaitTimeNode), Left = 788, Top = 28 };
DiagramViewModel.Add(WaitTimeNode);
BlockDesignerItemViewModel ForNode = new ForNode(DiagramViewModel) { Name = nameof(ForNode), Left = 788, Top = 68 };
DiagramViewModel.Add(ForNode);
BlockDesignerItemViewModel AlwaysNode = new AlwaysNode(DiagramViewModel) { Name = nameof(AlwaysNode), Left = 788, Top = 158 };
DiagramViewModel.Add(AlwaysNode);
BlockDesignerItemViewModel IfNode = new IfNode(DiagramViewModel) { Name = nameof(IfNode), Left = 788, Top = 238 };
DiagramViewModel.Add(IfNode);
BlockDesignerItemViewModel IfElseNode = new IfElseNode(DiagramViewModel) { Name = nameof(IfElseNode), Left = 788, Top = 328 };
DiagramViewModel.Add(IfElseNode);
BlockDesignerItemViewModel WaitNode = new WaitNode(DiagramViewModel) { Name = nameof(WaitNode), Left = 788, Top = 458 };
DiagramViewModel.Add(WaitNode);
BlockDesignerItemViewModel WhileNode = new WhileNode(DiagramViewModel) { Name = nameof(WhileNode), Left = 788, Top = 498 };
DiagramViewModel.Add(WhileNode);
BlockDesignerItemViewModel StopNode = new StopNode(DiagramViewModel) { Name = nameof(StopNode), Left = 788, Top = 578 };
DiagramViewModel.Add(StopNode);
BlockDesignerItemViewModel CloneStartNode = new CloneStartNode(DiagramViewModel) { Name = nameof(CloneStartNode), Left = 788, Top = 618 };
DiagramViewModel.Add(CloneStartNode);
BlockDesignerItemViewModel CloneNode = new CloneNode(DiagramViewModel) { Name = nameof(CloneNode), Left = 788, Top = 678 };
DiagramViewModel.Add(CloneNode);
BlockDesignerItemViewModel DeleteThisCloneNode = new DeleteThisCloneNode(DiagramViewModel) { Name = nameof(DeleteThisCloneNode), Left = 788, Top = 718 };
DiagramViewModel.Add(DeleteThisCloneNode);
BlockDesignerItemViewModel HitNode = new HitNode(DiagramViewModel) { Name = nameof(HitNode), Left = 928, Top = 28 };
DiagramViewModel.Add(HitNode);
BlockDesignerItemViewModel HitColorNode = new HitColorNode(DiagramViewModel) { Name = nameof(HitColorNode), Left = 928, Top = 68 };
DiagramViewModel.Add(HitColorNode);
BlockDesignerItemViewModel ColorHitColorNode = new ColorHitColorNode(DiagramViewModel) { Name = nameof(ColorHitColorNode), Left = 928, Top = 108 };
DiagramViewModel.Add(ColorHitColorNode);
BlockDesignerItemViewModel DistanceNode = new DistanceNode(DiagramViewModel) { Name = nameof(DistanceNode), Left = 928, Top = 148 };
DiagramViewModel.Add(DistanceNode);
BlockDesignerItemViewModel AskNode = new AskNode(DiagramViewModel) { Name = nameof(AskNode), Left = 928, Top = 188 };
DiagramViewModel.Add(AskNode);
BlockDesignerItemViewModel AnswerNode = new AnswerNode(DiagramViewModel) { Name = nameof(AnswerNode), Left = 928, Top = 228 };
DiagramViewModel.Add(AnswerNode);
BlockDesignerItemViewModel PressKeyNode = new PressKeyNode(DiagramViewModel) { Name = nameof(PressKeyNode), Left = 928, Top = 268 };
DiagramViewModel.Add(PressKeyNode);
BlockDesignerItemViewModel PressMouseNode = new PressMouseNode(DiagramViewModel) { Name = nameof(PressMouseNode), Left = 928, Top = 308 };
DiagramViewModel.Add(PressMouseNode);
BlockDesignerItemViewModel MousePointXNode = new MousePointXNode(DiagramViewModel) { Name = nameof(MousePointXNode), Left = 928, Top = 348 };
DiagramViewModel.Add(MousePointXNode);
BlockDesignerItemViewModel MousePointYNode = new MousePointYNode(DiagramViewModel) { Name = nameof(MousePointYNode), Left = 928, Top = 388 };
DiagramViewModel.Add(MousePointYNode);
BlockDesignerItemViewModel DragModeNode = new DragModeNode(DiagramViewModel) { Name = nameof(DragModeNode), Left = 928, Top = 428 };
DiagramViewModel.Add(DragModeNode);
BlockDesignerItemViewModel LoudnessNode = new LoudnessNode(DiagramViewModel) { Name = nameof(LoudnessNode), Left = 928, Top = 468 };
DiagramViewModel.Add(LoudnessNode);
BlockDesignerItemViewModel TimerNode = new TimerNode(DiagramViewModel) { Name = nameof(TimerNode), Left = 928, Top = 508 };
DiagramViewModel.Add(TimerNode);
BlockDesignerItemViewModel ClearTimerNode = new ClearTimerNode(DiagramViewModel) { Name = nameof(ClearTimerNode), Left = 928, Top = 548 };
DiagramViewModel.Add(ClearTimerNode);
BlockDesignerItemViewModel StageObjectNode = new StageObjectNode(DiagramViewModel) { Name = nameof(StageObjectNode), Left = 928, Top = 588 };
DiagramViewModel.Add(StageObjectNode);
BlockDesignerItemViewModel NowTimeNode = new NowTimeNode(DiagramViewModel) { Name = nameof(NowTimeNode), Left = 928, Top = 628 };
DiagramViewModel.Add(NowTimeNode);
BlockDesignerItemViewModel DaysFrom2000Node = new DaysFrom2000Node(DiagramViewModel) { Name = nameof(DaysFrom2000Node), Left = 928, Top = 668 };
DiagramViewModel.Add(DaysFrom2000Node);
BlockDesignerItemViewModel UserNameNode = new UserNameNode(DiagramViewModel) { Name = nameof(UserNameNode), Left = 928, Top = 708 };
DiagramViewModel.Add(UserNameNode);
BlockDesignerItemViewModel AddNode = new AddNode(DiagramViewModel) { Name = nameof(AddNode), Left = 1108, Top = 28 };
DiagramViewModel.Add(AddNode);
BlockDesignerItemViewModel SubtractNode = new SubtractNode(DiagramViewModel) { Name = nameof(SubtractNode), Left = 1108, Top = 68 };
DiagramViewModel.Add(SubtractNode);
BlockDesignerItemViewModel MultiplyNode = new MultiplyNode(DiagramViewModel) { Name = nameof(MultiplyNode), Left = 1108, Top = 108 };
DiagramViewModel.Add(MultiplyNode);
BlockDesignerItemViewModel DivisionNode = new DivisionNode(DiagramViewModel) { Name = nameof(DivisionNode), Left = 1108, Top = 148 };
DiagramViewModel.Add(DivisionNode);
BlockDesignerItemViewModel RandomNode = new RandomNode(DiagramViewModel) { Name = nameof(RandomNode), Left = 1108, Top = 188 };
DiagramViewModel.Add(RandomNode);
BlockDesignerItemViewModel GreaterThanNode = new GreaterThanNode(DiagramViewModel) { Name = nameof(GreaterThanNode), Left = 1108, Top = 228 };
DiagramViewModel.Add(GreaterThanNode);
BlockDesignerItemViewModel LessThanNode = new LessThanNode(DiagramViewModel) { Name = nameof(LessThanNode), Left = 1108, Top = 268 };
DiagramViewModel.Add(LessThanNode);
BlockDesignerItemViewModel EqualThanNode = new EqualThanNode(DiagramViewModel) { Name = nameof(EqualThanNode), Left = 1108, Top = 308 };
DiagramViewModel.Add(EqualThanNode);
BlockDesignerItemViewModel AndNode = new AndNode(DiagramViewModel) { Name = nameof(AndNode), Left = 1108, Top = 348 };
DiagramViewModel.Add(AndNode);
BlockDesignerItemViewModel OrNode = new OrNode(DiagramViewModel) { Name = nameof(OrNode), Left = 1108, Top = 388 };
DiagramViewModel.Add(OrNode);
BlockDesignerItemViewModel NotNode = new NotNode(DiagramViewModel) { Name = nameof(NotNode), Left = 1108, Top = 428 };
DiagramViewModel.Add(NotNode);
BlockDesignerItemViewModel StringAddNode = new StringAddNode(DiagramViewModel) { Name = nameof(StringAddNode), Left = 1108, Top = 468 };
DiagramViewModel.Add(StringAddNode);
BlockDesignerItemViewModel StringIndexNode = new StringIndexNode(DiagramViewModel) { Name = nameof(StringIndexNode), Left = 1108, Top = 508 };
DiagramViewModel.Add(StringIndexNode);
BlockDesignerItemViewModel StringContainNode = new StringContainNode(DiagramViewModel) { Name = nameof(StringContainNode), Left = 1108, Top = 548 };
DiagramViewModel.Add(StringContainNode);
BlockDesignerItemViewModel ModNode = new ModNode(DiagramViewModel) { Name = nameof(ModNode), Left = 1108, Top = 588 };
DiagramViewModel.Add(ModNode);
BlockDesignerItemViewModel RoundNode = new RoundNode(DiagramViewModel) { Name = nameof(RoundNode), Left = 1108, Top = 628 };
DiagramViewModel.Add(RoundNode);
BlockDesignerItemViewModel MathNode = new MathNode(DiagramViewModel) { Name = nameof(MathNode), Left = 1108, Top = 668 };
DiagramViewModel.Add(MathNode);
BlockDesignerItemViewModel VariableNode = new VariableNode(DiagramViewModel) { Name = nameof(VariableNode), Left = 1318, Top = 28 };
DiagramViewModel.Add(VariableNode);
BlockDesignerItemViewModel SetVariableNode = new SetVariableNode(DiagramViewModel) { Name = nameof(SetVariableNode), Left = 1318, Top = 68 };
DiagramViewModel.Add(SetVariableNode);
BlockDesignerItemViewModel IncreaseVariableNode = new IncreaseVariableNode(DiagramViewModel) { Name = nameof(IncreaseVariableNode), Left = 1318, Top = 108 };
DiagramViewModel.Add(IncreaseVariableNode);
BlockDesignerItemViewModel ShowVariableNode = new ShowVariableNode(DiagramViewModel) { Name = nameof(ShowVariableNode), Left = 1318, Top = 148 };
DiagramViewModel.Add(ShowVariableNode);
BlockDesignerItemViewModel HiddenVariableNode = new HiddenVariableNode(DiagramViewModel) { Name = nameof(HiddenVariableNode), Left = 1318, Top = 188 };
DiagramViewModel.Add(HiddenVariableNode);
#endregion
}
}
}

View File

@@ -1,11 +1,4 @@
using AIStudio.Wpf.DiagramApp.Views;
using AIStudio.Wpf.Flowchart;
using AIStudio.Wpf.Logical;
using ControlzEx.Theming;
using Dragablz;
using Fluent;
using Newtonsoft.Json;
using System;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
@@ -14,14 +7,17 @@ using System.Reactive.Linq;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using AIStudio.Wpf.DiagramApp.Views;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.DiagramDesigner.Additionals;
using AIStudio.Wpf.DiagramDesigner.Additionals.Commands;
using AIStudio.Wpf.DiagramDesigner.ViewModels;
using AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel;
using AIStudio.Wpf.Mind;
using AIStudio.Wpf.Mind.Models;
using ControlzEx.Controls;
using ControlzEx.Theming;
using Dragablz;
using Fluent;
using Newtonsoft.Json;
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
@@ -538,18 +534,10 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
flow = new MindViewModel(filename, diagram);
}
else if (diagram.DiagramType == DiagramType.Script)
{
flow = new ScriptViewModel(filename, diagram);
}
else if (diagram.DiagramType == DiagramType.Drawing)
{
flow = new DrawingViewModel(filename, diagram);
}
else if (diagram.DiagramType == DiagramType.Block)
{
flow = new BlockViewModel(filename, diagram);
}
else
{
flow = new PageViewModel(filename, diagram);
@@ -665,18 +653,10 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
PageViewModel = new SFCViewModel(NewNameHelper.GetNewName(PageViewModels.Select(p => p.Title), "新建-"), "*", (DiagramType)Enum.Parse(typeof(DiagramType), type));
}
else if (type == DiagramType.Script.ToString())
{
PageViewModel = new ScriptViewModel(NewNameHelper.GetNewName(PageViewModels.Select(p => p.Title), "新建-"), "*", (DiagramType)Enum.Parse(typeof(DiagramType), type));
}
else if (type == DiagramType.Drawing.ToString())
{
PageViewModel = new DrawingViewModel(NewNameHelper.GetNewName(PageViewModels.Select(p => p.Title), "新建-"), "*", (DiagramType)Enum.Parse(typeof(DiagramType), type));
}
else if (type == DiagramType.Block.ToString())
{
PageViewModel = new BlockViewModel(NewNameHelper.GetNewName(PageViewModels.Select(p => p.Title), "新建-"), "*", (DiagramType)Enum.Parse(typeof(DiagramType), type));
}
else
{
PageViewModel = new PageViewModel(NewNameHelper.GetNewName(PageViewModels.Select(p => p.Title), "新建-"), "*", (DiagramType)Enum.Parse(typeof(DiagramType), type));

View File

@@ -1,213 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows;
using System.Windows.Media;
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.Script.Core.Helpers;
using AIStudio.Wpf.Script.Core.Models;
using AIStudio.Wpf.Script.Core.ViewModels;
using AIStudio.Wpf.Script.ViewModels;
using AIStudio.Wpf.SFC;
using Microsoft.CodeAnalysis;
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public class ScriptViewModel : PageViewModel
{
static ScriptViewModel()
{
TextEditorThemeHelper.SetCurrentTheme("VS2019_Dark");
}
public ScriptViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
}
public ScriptViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
if (DiagramViewModel != null)
{
}
readDataTimer.Elapsed += timeCycle;
readDataTimer.Interval = 1000;
readDataTimer.AutoReset = false;
readDataTimer.Start();
}
protected override void InitDiagramViewModel()
{
base.InitDiagramViewModel();
DiagramViewModel.DiagramOption.LayoutOption.PageSizeType = PageSizeType.Custom;
DiagramViewModel.DiagramOption.LayoutOption.PageSize = new Size(double.NaN, double.NaN);
DiagramViewModel.ColorViewModel = new ColorViewModel();
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
}
private System.Timers.Timer readDataTimer = new System.Timers.Timer();
protected override void Init(bool initNew)
{
base.Init(initNew);
ConsoleLogViewModel logNode = new ConsoleLogViewModel(DiagramViewModel) { Name = "Log", Left = 150, Top = 420 };
DiagramViewModel.Add(logNode);
IntScriptViewModel intNode = new IntScriptViewModel(DiagramViewModel) { Name = "Int", Left = 40, Top = 220 };
DiagramViewModel.Add(intNode);
ColorBoxFactoryScriptViewModel factoryNode = new ColorBoxFactoryScriptViewModel(DiagramViewModel) { Name = "ColorBoxFactory", Left = 150, Top = 150 };
DiagramViewModel.Add(factoryNode);
BoolScriptViewModel boolNode = new BoolScriptViewModel(DiagramViewModel) { Name = "Bool", TrueString = "形状", FalseString = "颜色", Left = 410, Top = 190 };
DiagramViewModel.Add(boolNode);
ColorBoxSwitchScriptViewModel switchNode = new ColorBoxSwitchScriptViewModel(DiagramViewModel) { Name = "ColorBoxSwitch", Left = 500, Top = 150 };
DiagramViewModel.Add(switchNode);
TextScriptViewModel textNode = new TextScriptViewModel(DiagramViewModel) { Name = "Text", Text = "AIStudio Diagram", Left = 150, Top = 50, ItemWidth = 450, ItemHeight = 60 };
DiagramViewModel.Add(textNode);
ColorBoxIfScriptViewModel ifNode = new ColorBoxIfScriptViewModel(DiagramViewModel) { Name = "ColorBoxIf", Left = 660, Top = 60 };
DiagramViewModel.Add(ifNode);
ColorBoxCollectorScriptViewModel collectorNode1_1 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector1_1", Left = 790, Top = 40 };
collectorNode1_1.Tag = new ColorBoxModel("红色|圆形", "M 10,20 A 20,20 0 1 1 50,20 A 20,20 0 1 1 10,20", Colors.Red);
DiagramViewModel.Add(collectorNode1_1);
ColorBoxCollectorScriptViewModel collectorNode1_2 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector1_2", Left = 790, Top = 120 };
collectorNode1_2.Tag = new ColorBoxModel("红色|圆形", "M 10,20 A 20,20 0 1 1 50,20 A 20,20 0 1 1 10,20", Colors.Red);
DiagramViewModel.Add(collectorNode1_2);
ColorBoxCollectorScriptViewModel collectorNode2 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector2", Left = 790, Top = 220 };
collectorNode2.Tag = new ColorBoxModel("橙色|三角形", "M1,21H23L12,2", Colors.Orange);
DiagramViewModel.Add(collectorNode2);
ColorBoxCollectorScriptViewModel collectorNode3 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector3", Left = 790, Top = 305 };
collectorNode3.Tag = new ColorBoxModel("黄色|方形", "M3,3V21H21V3", Colors.Yellow);
DiagramViewModel.Add(collectorNode3);
ColorBoxCollectorScriptViewModel collectorNode4 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector4", Left = 790, Top = 390 };
collectorNode4.Tag = new ColorBoxModel("绿色|菱形", "M 0,20 L 30 0 L 60,20 L 30,40 Z", Colors.Green);
DiagramViewModel.Add(collectorNode4);
ColorBoxCollectorScriptViewModel collectorNode5 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector5", Left = 790, Top = 475 };
collectorNode5.Tag = new ColorBoxModel("青色|梯形", "M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.78 7.77L10 18.78l8.39-8.4a5.5 5.5 0 0 0-7.78-7.77l-.61.61z", Colors.Cyan);
DiagramViewModel.Add(collectorNode5);
ColorBoxCollectorScriptViewModel collectorNode6 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector6", Left = 790, Top = 560 };
collectorNode6.Tag = new ColorBoxModel("蓝色|五角星", "M 9,2 11,7 17,7 12,10 14,15 9,12 4,15 6,10 1,7 7,7 Z", Colors.Blue);
DiagramViewModel.Add(collectorNode6);
ColorBoxCollectorScriptViewModel collectorNode7 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector7", Left = 790, Top = 645 };
collectorNode7.Tag = new ColorBoxModel("紫色|六边形", "M 0,20 L 10,0 H 50 L 60,20 L 50,40 H10 Z", Colors.Purple);
DiagramViewModel.Add(collectorNode7);
ConnectionViewModel int_factoryConnector = new ConnectionViewModel(DiagramViewModel, intNode.Output[0], factoryNode.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.Add(int_factoryConnector);
ConnectionViewModel bool_switchConnector = new ConnectionViewModel(DiagramViewModel, boolNode.Output[0], switchNode.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.Add(bool_switchConnector);
ConnectionViewModel factory_switchConnector = new ConnectionViewModel(DiagramViewModel, factoryNode.Output[0], switchNode.Input[1], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
factory_switchConnector.AnimationViewModel.Repeat = false;
factory_switchConnector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(factory_switchConnector);
ConnectionViewModel switch_textConnector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[0], textNode.Input[0], DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
switch_textConnector.SetPathGeneratorParameter(null, null, 5, 10);
DiagramViewModel.Add(switch_textConnector);
ConnectionViewModel switch_ifConnector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[1], ifNode.Input[2], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_ifConnector.AnimationViewModel.Repeat = false;
switch_ifConnector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_ifConnector);
ConnectionViewModel if_collector1_1Connector = new ConnectionViewModel(DiagramViewModel, ifNode.Output[0], collectorNode1_1.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
if_collector1_1Connector.AnimationViewModel.Repeat = false;
if_collector1_1Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(if_collector1_1Connector);
ConnectionViewModel if_collector1_2Connector = new ConnectionViewModel(DiagramViewModel, ifNode.Output[1], collectorNode1_2.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
if_collector1_2Connector.AnimationViewModel.Repeat = false;
if_collector1_2Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(if_collector1_2Connector);
ConnectionViewModel collector1_1_if_Connector = new ConnectionViewModel(DiagramViewModel, collectorNode1_1.Output[0], ifNode.Input[0], DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
collector1_1_if_Connector.SetPathGeneratorParameter(null, null, 5, 30);
DiagramViewModel.Add(collector1_1_if_Connector);
ConnectionViewModel collector1_2_if_Connector = new ConnectionViewModel(DiagramViewModel, collectorNode1_2.Output[0], ifNode.Input[1], DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
collector1_2_if_Connector.SetPathGeneratorParameter(null, null, 5, 10);
DiagramViewModel.Add(collector1_2_if_Connector);
ConnectionViewModel switch_collector2Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[2], collectorNode2.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector2Connector.AnimationViewModel.Repeat = false;
switch_collector2Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector2Connector);
ConnectionViewModel switch_collector3Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[3], collectorNode3.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector3Connector.AnimationViewModel.Repeat = false;
switch_collector3Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector3Connector);
ConnectionViewModel switch_collector4Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[4], collectorNode4.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector4Connector.AnimationViewModel.Repeat = false;
switch_collector4Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector4Connector);
ConnectionViewModel switch_collector5Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[5], collectorNode5.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector5Connector.AnimationViewModel.Repeat = false;
switch_collector5Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector5Connector);
ConnectionViewModel switch_collector6Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[6], collectorNode6.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector6Connector.AnimationViewModel.Repeat = false;
switch_collector6Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector6Connector);
ConnectionViewModel switch_collector7Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[7], collectorNode7.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector7Connector.AnimationViewModel.Repeat = false;
switch_collector7Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector7Connector);
readDataTimer.Elapsed += timeCycle;
readDataTimer.Interval = 1000;
readDataTimer.AutoReset = false;
readDataTimer.Start();
}
private void timeCycle(object sender, ElapsedEventArgs e)
{
foreach (var item in DiagramViewModel.Items.OfType<LogicalGateItemViewModelBase>().OrderBy(p => p.OrderNumber).ToList())
{
item.Execute();
}
if (readDataTimer != null)
readDataTimer.Start();
}
public override void Dispose()
{
base.Dispose();
readDataTimer.Stop();
readDataTimer.Dispose();
readDataTimer = null;
foreach (var item in DiagramViewModel.Items.OfType<LogicalGateItemViewModelBase>().OrderBy(p => p.OrderNumber).ToList())
{
item.Dispose();
}
}
}
}

View File

@@ -97,15 +97,9 @@
<Button Margin="5" ToolTip="顺序控制图" Command="{Binding NewCommand}" CommandParameter="SFC" Width="80" Height="80" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="{DynamicResource BlackBrush}">
<Path Stretch="Fill" Margin="20" Fill="{DynamicResource GrayBrush2}" Data="M10.984 13.836a.5.5 0 0 1-.353-.146l-.745-.743a.5.5 0 1 1 .706-.708l.392.391 1.181-1.18a.5.5 0 0 1 .708.707l-1.535 1.533a.504.504 0 0 1-.354.146zm9.353-.147l1.534-1.532a.5.5 0 0 0-.707-.707l-1.181 1.18-.392-.391a.5.5 0 1 0-.706.708l.746.743a.497.497 0 0 0 .706-.001zM4.527 7.452l2.557-1.585A1 1 0 0 0 7.09 4.17L4.533 2.56A1 1 0 0 0 3 3.406v3.196a1.001 1.001 0 0 0 1.527.85zm2.03-2.436L4 6.602V3.406l2.557 1.61zM24 12.5c0 1.93-1.57 3.5-3.5 3.5a3.503 3.503 0 0 1-3.46-3h-2.08a3.503 3.503 0 0 1-3.46 3 3.502 3.502 0 0 1-3.46-3h-.558c-.972 0-1.85-.399-2.482-1.042V17c0 1.654 1.346 3 3 3h.04c.244-1.693 1.7-3 3.46-3 1.93 0 3.5 1.57 3.5 3.5S13.43 24 11.5 24a3.502 3.502 0 0 1-3.46-3H8c-2.206 0-4-1.794-4-4V9.899A5.008 5.008 0 0 1 0 5c0-2.757 2.243-5 5-5s5 2.243 5 5a5.005 5.005 0 0 1-4.952 4.998A2.482 2.482 0 0 0 7.482 12h.558c.244-1.693 1.7-3 3.46-3a3.502 3.502 0 0 1 3.46 3h2.08a3.503 3.503 0 0 1 3.46-3c1.93 0 3.5 1.57 3.5 3.5zm-15 8c0 1.378 1.122 2.5 2.5 2.5s2.5-1.122 2.5-2.5-1.122-2.5-2.5-2.5S9 19.122 9 20.5zM5 9c2.206 0 4-1.794 4-4S7.206 1 5 1 1 2.794 1 5s1.794 4 4 4zm9 3.5c0-1.378-1.122-2.5-2.5-2.5S9 11.122 9 12.5s1.122 2.5 2.5 2.5 2.5-1.122 2.5-2.5zm9 0c0-1.378-1.122-2.5-2.5-2.5S18 11.122 18 12.5s1.122 2.5 2.5 2.5 2.5-1.122 2.5-2.5zm-13 8a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm2 0a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm12 0c0 1.93-1.57 3.5-3.5 3.5a3.503 3.503 0 0 1-3.46-3.002c-.007.001-.013.005-.021.005l-.506.017h-.017a.5.5 0 0 1-.016-.999l.506-.017c.018-.002.035.006.052.007A3.503 3.503 0 0 1 20.5 17c1.93 0 3.5 1.57 3.5 3.5zm-1 0c0-1.378-1.122-2.5-2.5-2.5S18 19.122 18 20.5s1.122 2.5 2.5 2.5 2.5-1.122 2.5-2.5z" ></Path>
</Button>
<Button Margin="5" ToolTip="C#脚本" Command="{Binding NewCommand}" CommandParameter="Script" Width="80" Height="80" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="{DynamicResource BlackBrush}">
<Path Stretch="Uniform" Margin="20" Fill="{DynamicResource GrayBrush2}" Data="M490.666667 681.386667l17.493333 104.106666c-11.093333 5.973333-29.013333 11.52-52.906667 16.64-24.32 5.546667-52.906667 8.533333-85.76 8.533334-94.293333-1.706667-165.12-29.866667-212.48-83.626667C109.226667 672.853333 85.333333 604.16 85.333333 520.96c2.133333-98.56 30.72-174.08 85.333334-226.986667C226.986667 240.64 296.96 213.333333 381.44 213.333333c32 0 59.733333 2.986667 82.773333 8.106667s40.106667 10.666667 51.2 17.066667l-24.746666 106.24-45.226667-14.506667c-17.066667-4.266667-36.693333-6.4-59.306667-6.4-49.493333-0.426667-90.453333 15.36-122.453333 46.933333-32.426667 31.146667-49.066667 78.933333-50.346667 142.506667 0 58.026667 15.786667 103.253333 46.08 136.533333 30.293333 32.853333 72.96 49.92 127.573334 50.346667l56.746666-5.12c18.346667-3.413333 33.706667-8.106667 46.933334-13.653333M592.64 810.666667l26.026667-170.666667H554.666667l14.506666-85.333333h64l13.653334-85.333334h-64L597.333333 384h64l26.026667-170.666667h85.333333l-26.026666 170.666667h42.666666l26.026667-170.666667h85.333333l-26.026666 170.666667H938.666667l-14.506667 85.333333h-64l-13.653333 85.333334h64L896 640h-64l-26.026667 170.666667h-85.333333l26.026667-170.666667h-42.666667l-26.026667 170.666667h-85.333333m125.866667-256h42.666666l13.653334-85.333334h-42.666667l-13.653333 85.333334z" ></Path>
</Button>
<Button Margin="5" ToolTip="画板" Command="{Binding NewCommand}" CommandParameter="Drawing" Width="80" Height="80" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="{DynamicResource BlackBrush}">
<Path Stretch="Uniform" Margin="20" Fill="{DynamicResource GrayBrush2}" Data="M9.75 20.85C11.53 20.15 11.14 18.22 10.24 17C9.35 15.75 8.12 14.89 6.88 14.06C6 13.5 5.19 12.8 4.54 12C4.26 11.67 3.69 11.06 4.27 10.94C4.86 10.82 5.88 11.4 6.4 11.62C7.31 12 8.21 12.44 9.05 12.96L10.06 11.26C8.5 10.23 6.5 9.32 4.64 9.05C3.58 8.89 2.46 9.11 2.1 10.26C1.78 11.25 2.29 12.25 2.87 13.03C4.24 14.86 6.37 15.74 7.96 17.32C8.3 17.65 8.71 18.04 8.91 18.5C9.12 18.94 9.07 18.97 8.6 18.97C7.36 18.97 5.81 18 4.8 17.36L3.79 19.06C5.32 20 7.88 21.47 9.75 20.85M20.84 5.25C21.06 5.03 21.06 4.67 20.84 4.46L19.54 3.16C19.33 2.95 18.97 2.95 18.76 3.16L17.74 4.18L19.82 6.26M11 10.92V13H13.08L19.23 6.85L17.15 4.77L11 10.92Z" ></Path>
</Button>
<Button Margin="5" ToolTip="Stratch" Command="{Binding NewCommand}" CommandParameter="Block" Width="80" Height="80" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="{DynamicResource BlackBrush}">
<Path Stretch="Uniform" Margin="20" Fill="{DynamicResource GrayBrush2}" Data="M884.48 296.106667l-5.973333-10.666667a90.88 90.88 0 0 0-31.146667-29.44l-201.386667-116.48a85.333333 85.333333 0 0 0-42.666666-11.52h-11.946667a81.92 81.92 0 0 0-42.666667 11.52L176.64 354.986667a85.333333 85.333333 0 0 0-31.146667 31.146666l-5.973333 10.666667a85.333333 85.333333 0 0 0-11.52 42.666667v245.76a85.333333 85.333333 0 0 0 11.52 42.666666l5.973333 10.666667a90.88 90.88 0 0 0 31.146667 31.146667l201.386667 114.773333a85.333333 85.333333 0 0 0 42.666666 11.52h11.946667a81.92 81.92 0 0 0 42.666667-11.52l372.053333-215.466667a85.333333 85.333333 0 0 0 31.146667-31.146666l5.973333-10.666667a85.333333 85.333333 0 0 0 11.52-42.666667V338.773333a85.333333 85.333333 0 0 0-11.52-42.666666zM591.36 213.333333h11.946667L768 307.2l-341.333333 197.546667-170.666667-97.28z m213.333333 384L469.333333 789.333333v-210.346666l341.333334-197.973334v203.52z" ></Path>
</Button>
</WrapPanel>
</TabItem>
<TabItem Header="思维导图" >