【问题标题】:MvvmCross and ListBox / ComboBox binding in WinRTWinRT 中的 MvvmCross 和 ListBox / ComboBox 绑定
【发布时间】:2013-01-02 00:06:26
【问题描述】:

我需要为 WinRT 应用程序中的列表和组合框实现选择更改事件。我正在使用 MvvmCross 但 AFAIK 这是一个 WinRT 而不是 Mvx 特定的问题。 System.Windows.Interactivity 不适用于 WinRT 应用程序,因此我无法使用基于 i:Interaction.Triggers 的技术。我想以真正的 MVVM 方式实现绑定,而无需切换到代码隐藏,因此我可以在其他平台上尽可能多地重用。在 WinRT 应用程序中实现它的合理方法是什么?我在 MvvmCross 示例中没有找到任何示例。

提前致谢

【问题讨论】:

    标签: listview binding combobox mvvmcross selectionchanged


    【解决方案1】:

    我认为这是 WinRT 上 Mvvm 的普遍问题

    由于某些未知原因,Microsoft 没有在 WinRT 中包含行为。 (有这样的理论,比如他们的时间用完了,他们不想因为 Expression Blend 的变化等等......)

    有很多关于如何解决这个问题的博客文章和文章——其中大部分都围绕着 Joost van Schaik 的优秀库:

    我自己没有这样做 - 我倾向于不使用 SelectionChanged,而是将 ICommands 放在每个 ListItem 中。如果你让 Joost 的图书馆工作,我很乐意看到一个样本:)

    【讨论】:

    【解决方案2】:

    如果您正在寻找带有 MvvmCross 的 WinRT 中的行为,您现在可以使用 Windows.UI.Interactivity nuget 包 (https://nuget.org/packages/Windows.UI.Interactivity)。

    在将它与 MvvmCross 一起使用时,我对现有的 MvxEventToCommand 类做了一些小改动(继承自 TriggerAction(FrameworkElement) 而不是 TriggerAction(DependencyObject))。奇迹般有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多