我有这个XAML
<MultiBinding StringFormat=" {0}{1}/{2}">
<Binding Path="Text" ElementName="tbxAuthHost" />
<Binding Path="Text" ElementName="tbxAuthWebsiteName" />
<Binding Path="Text" ElementName="tbxAuthServicesAddress" />
</MultiBinding>
当我尝试将“{0} {1} / {2}”更改为“{0} {1} / {2}”,因此没有前导空格,然后Visual Studio会出现此错误:
错误3在MarkupExtension表达式的结束'}'之后,不允许使用文本“{1} / {2}”。第116行第56位。
我如何解决这个问题?
答案 0 :(得分:16)
您可以通过将{}
放在字符串格式的前面来解决此问题。
StringFormat="{}{0}{1}/{2}"
MSDN Page在解释格式方面做得特别糟糕。
如果查看escape sequence上的页面,它会解释开头的左括号表示标记扩展名(例如Binding),而{0}{1}/{2}
不是有效的标记扩展名。它没有解释没有它,因为第一个角色也有效。