如何在mvvmlight中取消选择lisboxitem?

时间:2012-02-02 02:08:33

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

我有一个关于使用MVVM Light在WP7中使用列表框的快速问题。基本上在我使用MVVM之前,当我导航到页面时,我所要做的就是将OnNavigatedTo事件内的SelectedIndex设置为-1。然后在SelectionChanged事件内部,我将检查SelectedIndex是否等于-1,如果是,我会忽略它。我这样做的原因是用户想要在他们回到页面时再次选择相同的项目。

现在使用MVVM(MVVM Light)我将事件绑定到一个命令,它负责第一部分。但现在我卡住了,因为我不知道如何从ViewModel将SelectedIndex设置为-1,这阻止用户再次选择相同的项目。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

更好的解决方案是不使用选择事件来触发导航。请改用单个项目的点击事件。
这也避免了滚动时意外导航的问题。

答案 1 :(得分:1)

尝试在您的viewmodel上创建SelectedItem属性,然后在SelectedItem viewmodel属性和SelectedItem上的ListBox属性之间进行双向操作。然后,当Command触发时,您可以使用您想要的任何值更新它,结果会传播回ListBox