【发布时间】:2010-07-08 02:08:36
【问题描述】:
我在 Windows Phone 应用程序上使用 MVVM Light。我想在数据绑定后将所选项目设置在列表框中。
我认为最好的方法是在列表框上为 Loaded 事件设置 eventToCommand 并传递元素以设置选定的索引,但我不确定如何将列表框元素传递给 RelayCommand。
【问题讨论】:
标签: silverlight windows-phone-7 mvvm-light
我在 Windows Phone 应用程序上使用 MVVM Light。我想在数据绑定后将所选项目设置在列表框中。
我认为最好的方法是在列表框上为 Loaded 事件设置 eventToCommand 并传递元素以设置选定的索引,但我不确定如何将列表框元素传递给 RelayCommand。
【问题讨论】:
标签: silverlight windows-phone-7 mvvm-light
从视图模型的角度考虑这一点,而不是从视图中的控件角度考虑...
将列表框的 SelectedItem 属性绑定到视图模型上的新 MySelectedItem 属性,然后您可以在视图模型中完成所有操作而无需任何命令。
例如,您可能会遍历视图模型中绑定到列表框的 ItemsSource 的项目集合,然后将其中一个分配给您的新 MySelectedItem 属性,它会自动显示为 UI 中的选定项。
作为替代方法,您还可以将每个 ListBoxItem 的 IsSelected 属性绑定到集合中每个对象的新 MyIsSelected 属性。相同的最终结果...使用适合您情况和/或口味的任何方法...
【讨论】: