【问题标题】:How to set the selected item on a listbox after binding using MVVM Light?使用 MVVM Light 绑定后如何在列表框中设置选定项?
【发布时间】:2010-07-08 02:08:36
【问题描述】:

我在 Windows Phone 应用程序上使用 MVVM Light。我想在数据绑定后将所选项目设置在列表框中。

我认为最好的方法是在列表框上为 Loaded 事件设置 eventToCommand 并传递元素以设置选定的索引,但我不确定如何将列表框元素传递给 RelayCommand。

【问题讨论】:

    标签: silverlight windows-phone-7 mvvm-light


    【解决方案1】:

    从视图模型的角度考虑这一点,而不是从视图中的控件角度考虑...

    将列表框的 SelectedItem 属性绑定到视图模型上的新 MySelectedItem 属性,然后您可以在视图模型中完成所有操作而无需任何命令。

    例如,您可能会遍历视图模型中绑定到列表框的 ItemsSource 的项目集合,然后将其中一个分配给您的新 MySelectedItem 属性,它会自动显示为 UI 中的选定项。

    作为替代方法,您还可以将每个 ListBoxItem 的 IsSelected 属性绑定到集合中每个对象的新 MyIsSelected 属性。相同的最终结果...使用适合您情况和/或口味的任何方法...

    【讨论】:

    • 我已经成功使用了第一个解决方案,但是您必须确保将绑定模式设置为 TwoWay,否则无法绑定回 ViewModel。
    猜你喜欢
    • 2023-03-18
    • 2015-03-18
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    相关资源
    最近更新 更多