在MVVM中绑定/维护GridView选定的项目

时间:2014-02-20 00:51:59

标签: c# gridview mvvm windows-8

我有一个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时,这似乎不是很直接。

谢谢!

0 个答案:

没有答案