mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-05-03 06:21:30 +08:00
简单表达式计算就用DataTable自带的好了
This commit is contained in:
@@ -12,10 +12,6 @@
|
|||||||
<Description>一个Wpf的流程图控件</Description>
|
<Description>一个Wpf的流程图控件</Description>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="MathParser.org-mXparser" Version="4.4.2" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="A.png">
|
<None Include="A.png">
|
||||||
<Pack>True</Pack>
|
<Pack>True</Pack>
|
||||||
|
|||||||
@@ -5,7 +5,10 @@ using System.Linq;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
using Expression = org.mariuszgromada.math.mxparser.Expression;
|
using Microsoft.CSharp;
|
||||||
|
using System.CodeDom.Compiler;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.Flowchart
|
namespace AIStudio.Wpf.Flowchart
|
||||||
{
|
{
|
||||||
@@ -274,17 +277,19 @@ namespace AIStudio.Wpf.Flowchart
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
//按条件选择一个分支
|
//按条件选择一个分支
|
||||||
string express = step.Value.Replace("data.Flag", nextNode.Text);
|
string expression = step.Value.Replace("data.Flag", nextNode.Text);
|
||||||
Expression e = new Expression(express);
|
|
||||||
var result = e.calculate();
|
var result = new DataTable().Compute(expression, "");
|
||||||
if (result == 1)
|
if (result.Equals(true))
|
||||||
{
|
{
|
||||||
SetStatus(nextNode, 100);
|
SetStatus(nextNode, 100);
|
||||||
Next(step.Key, nextNode);
|
Next(step.Key, nextNode);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { }
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//如果表达式错了,就按第一个处理
|
//如果表达式错了,就按第一个处理
|
||||||
Next(nextNode.SelectNextStep.FirstOrDefault().Key, nextNode);
|
Next(nextNode.SelectNextStep.FirstOrDefault().Key, nextNode);
|
||||||
@@ -367,6 +372,6 @@ namespace AIStudio.Wpf.Flowchart
|
|||||||
public static void DisposeData(IDiagramViewModel viewModel)
|
public static void DisposeData(IDiagramViewModel viewModel)
|
||||||
{
|
{
|
||||||
FlowNodes.Remove(viewModel);
|
FlowNodes.Remove(viewModel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user