我有一个GridView配置如下:
SelectionMode="Multiple"
SelectedItem="{Binding SelectedMyObj, Mode=TwoWay}"
然后在我的ViewModel中,我为SelectedItem提供了以下属性:
private MyObj selectedMyObj;
public MyObj SelectedMyObj
{
get { return selectedMyObj; }
set
{
selectedMyObj = value;
OnPropertyChanged();
}
}
这是一种奇怪的方式(imho)。当我单击GridView中的Item时,它将绑定到SelectedMyObj
。如果我单击GridView中的任何其他项,则SelectedMyObj
永远不会使用当前选择进行更新。如果我取消选择我选择的第一个项目,则SelectedMyObj
将使用下次选择的项目进行更新。
也许这是一个题外话,但我希望解决的真正问题是如何坚持我选择的项目?当选择一个项目时,我想从所选项目的主列表中添加/删除它并将其保留到本地存储。在使用第三方MVVM框架的Windows 8中使用MVVM时,这似乎不是很直接。
谢谢!