Metro UI中是否不支持多绑定?还是还没有添加?
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0},{1}">
<Binding Path="FirstName" />
<Binding Path="LastName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
不幸的是,MultiBinding在Beta版的Metro XAML中还不存在,而且在Beta版之后添加的新功能很少,它很可能要到下一个版本才会出现。您在这里使用的StringFormat在Binding上也不可用。
一般来说,Metro XAML功能集的成熟度目前与几个版本前的Silverlight相似,因此与SL 5相比,它缺少了一些东西,与WPF相比,它也缺少了很多东西,但从好的方面来看,这些东西应该会在未来的版本中很快添加进来。
我找到了一种通过使用Converter/ConverterParameters
将多个参数传递给OnExecute的方法
您可以在这里找到更多详细信息:
http://mariuszgorzoch.wordpress.com/2014/07/21/metro-ui-multibinding/
一般来说,我将原始的CommandParameter
和ConverterParameters
放在一个数组中。该方法的唯一限制是只能传递一个参数by-ref
,而所有其他参数都需要采用string
的形式。
您可以下载适用于WindowsStore项目的NuGet包。它支持WPF的大多数MultiBinding功能。你可以在这里找到关于如何使用它的文档。