Wpf 我可以添加/减去绑定到元素属性的值吗?

Wpf 我可以添加/减去绑定到元素属性的值吗?,wpf,xaml,Wpf,Xaml,XAML是否允许修改绑定值? 比如Width=“{Binding Elementname=“lstMine”,Path=Width}”-100?因此,我可以有一个相对值。使用转换器用于这些目的您可以使用转换器来实现此目的,我的库包括一个表达式转换器,它允许您准确地执行以下操作: Width="{Binding Width, ElementName=lstMine, Converter={con:ExpressionConverter {}{0}-100}}" 你能解释一下这一部分吗:{}{0}

XAML是否允许修改绑定值?

比如
Width=“{Binding Elementname=“lstMine”,Path=Width}”-100
?因此,我可以有一个相对值。

使用转换器用于这些目的

您可以使用转换器来实现此目的,我的库包括一个
表达式转换器
,它允许您准确地执行以下操作:

Width="{Binding Width, ElementName=lstMine, Converter={con:ExpressionConverter {}{0}-100}}"

你能解释一下这一部分吗:{}{0}-100}我是在阅读了你的答案后才知道这个方法的,并在谷歌上找到:是一样的吗?@Sarath:你提供的链接指向一个转换器,它有一个非常特殊的用途:乘法。我提供的表达式转换器几乎接受任何C#表达式并对其求值。例如,您可以在多重绑定中绑定到ActualWidth和ActualHeight,并使用
{0}+{1}
计算它们的和。大括号中的数字是绑定值的占位符。前导的
{}
只是XAML中的一个转义机制,告诉它不要将后续的“{”作为标记扩展。因此实际的表达式只是
{0}-100
,而
{0}
宽度
替换。最后一件事:您可能希望
实际宽度
而不是
宽度
。后者并不总是设置,并告诉布局引擎您希望分配给元素的宽度,而前者总是设置并包含分配给元素的实际宽度,这是通常是不同的。非常感谢Kent的解释。我现在明白了:)当我的转换器看起来像
{}{0}-100
,我得到了一个错误:“意外输入'}-'.预期'}'”。我必须在减法符号
{}{0}-100
之前加一个空格,以便它提供一个示例?