【问题标题】:Metro UI Multibinding?Metro UI 多绑定?
【发布时间】:2012-03-25 01:15:06
【问题描述】:

Metro UI 不支持多重绑定吗? 还是只是还没有添加?

<TextBlock>
  <TextBlock.Text>
    <MultiBinding StringFormat="{}{0},{1}">
      <Binding Path="FirstName" />
      <Binding Path="LastName" />
    </MultiBinding>                
  </TextBlock.Text>                
</TextBlock>

【问题讨论】:

    标签: microsoft-metro multibinding


    【解决方案1】:

    不幸的是,在 Beta 版中,Metro XAML 中还不存在 MultiBinding,并且鉴于在 Beta 版之后添加的新功能很少,它很可能要到下一个版本才会出现。您在此处使用的 StringFormat 在 Binding 上也不可用。

    总的来说,Metro XAML 功能集的成熟度目前类似于几个版本之前的 Silverlight,因此与 SL 5 相比它缺少一些东西,与 WPF 相比它缺少很多东西,但从好的方面来说,这些东西在未来的版本中应该会很快添加。

    【讨论】:

    • 如果我们要等到每个新的Windows版本才能获得下一批更改,而Windows操作系统的发布周期大约是3年,那是相当长的时间。 Silverlight 的优势在于定期更新。
    • 我同意,但我怀疑情况会如此。 Metro 平台有很多增长要做,这不是基于更新底层操作系统,而且频繁更新应用平台会更有意义。
    【解决方案2】:

    我找到了一种通过使用Converter/ConverterParameters 将多个参数传递给 OnExecute 的方法。
    在这里您可以找到更多详细信息:
    http://mariuszgorzoch.wordpress.com/2014/07/21/metro-ui-multibinding/

    一般来说,我采用原始CommandParameter 并将它们与ConverterParameters 放在一个数组中。该方法的唯一限制是您只能传递一个参数by-ref,而所有其他参数必须采用string 的形式。

    【讨论】:

      【解决方案3】:

      您可以为WindowsStore 项目下载 NuGet 包。它支持大多数 WPF 的 MultiBinding 功能。您可以找到有关如何使用它的文档here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-10
        • 1970-01-01
        • 1970-01-01
        • 2018-04-27
        • 1970-01-01
        • 2014-03-02
        • 1970-01-01
        相关资源
        最近更新 更多