C# XAML中的基本数学运算

C# XAML中的基本数学运算,c#,.net,wpf,vb.net,xaml,C#,.net,Wpf,Vb.net,Xaml,可以在XAML中进行加法、除法等基本数学运算吗 例如,我想将按钮的高度设置为{Binding ElementName=MW,Path=height}/2查看简单操作 及 要获得更复杂的评估,请参阅回答您的问题:不,这是不可能的。我的建议是创建一个,并将其应用于您想要执行的任何数学运算。视图绝对不是执行数学运算的地方,您希望在不同的类中分离和隔离该关注点,以便更易于调试和维护。如果不使用转换器或视图模型为您进行转换,则不可能。有关通用转换器,请参见我的项目中的ExpressionConverter

可以在XAML中进行加法、除法等基本数学运算吗

例如,我想将按钮的高度设置为
{Binding ElementName=MW,Path=height}/2

查看简单操作


要获得更复杂的评估,请参阅回答您的问题:不,这是不可能的。

我的建议是创建一个,并将其应用于您想要执行的任何数学运算。视图绝对不是执行数学运算的地方,您希望在不同的类中分离和隔离该关注点,以便更易于调试和维护。

如果不使用转换器或视图模型为您进行转换,则不可能。有关通用转换器,请参见我的项目中的
ExpressionConverter

这就是viewmodel的用途。当你使用XAML时,你希望有一个类来处理你的视图(XAMLGUI)和你的“后端”模型之间的交互。这就是你的视图模型。我不知道您到底想做什么,所以我无法告诉您如何做,但通常情况下,您的ViewModel上会有一个属性,用于计算所需的高度,然后绑定到该高度。你到底在干什么?也许有更好的布局方式?所以你有两列,你想每列占据容器一半的空间?对不起,如果我不理解,我很少直接设置任何东西的高度或宽度,因为它通常只是调整大小以适应它所拥有的任何空间。我也不认为视图模型适合这种操作。值转换器是将这个问题分离成一个易于调试、维护和重用的独立单元的最佳方法。你可能是对的。尝试这样调整列的大小并不是viewmodel的真正用途。一个绑定到宽度并将其减半的值转换器非常适合于此。