WPF在TextBox中动态创建公式

时间:2018-12-07 12:49:13

标签: c# wpf

我正在一个项目中,用户需要具有在WPF应用中创建公式的能力。 该公式必须由某些properties组成。 假设我们有properties

public decimal? Prop1 { get; set; }
public decimal? Prop2 { get; set; }
public decimal? Prop3 { get; set; }

现在,假设我们有一个TextBox,用户必须只能输入那些properties,并且在这两者之间需要一些运算符: +, -, /, *

我得到的部分是用户只能输入这些值properties和运算符… 但是我的问题是如何将公式保存到SQL database(让我们说Prop1 * Prop2),如何从database获取公式并使其从中读取值,然后基本上是“做数学…”

decimal? x = MyFormula;

我知道这个问题很棘手,我对此的描述也很困难……如果需要,请随时询问更多详细信息,我将尽力对其进行解释。

1 个答案:

答案 0 :(得分:1)

那里有两个不同的问题,而且都有些开放。

我对您的第一个问题的建议是将Model / ViewModel序列化为字符串。您可能会发现您想要稍微不同地存储它们。例如:

public class Property
{
    public string PropReference{get;set;}
}

public class Operator
{
    public string Operator{get;set;}
}

public class Calculation
{
    public Property Prop {get;set;}
    public Operator Op {get;set;}
    public Property Prop2 {get;set;}
}

这样,您可以将它们链接在一起,甚至嵌套它们。在回答第二个问题时,您可能想研究诸如Jace之类的库,因为这不是一个简单的问题,但已经解决了。

编辑-基于注释的替代解决方案:

public class Operator : IAction
{
    public string Operator {get;set;}
}

public class Calculation : IAction
{
    IList<KeyValuePair<IAction, Property>> Operations {get;set;}
}