Windows phone 7 WP7中的应用程序切换/逻辑删除过程中丢失数据绑定

Windows phone 7 WP7中的应用程序切换/逻辑删除过程中丢失数据绑定,windows-phone-7,data-binding,tombstoning,fast-app-switching,Windows Phone 7,Data Binding,Tombstoning,Fast App Switching,我已经设置了一个viewmodel,将listcontrol绑定到程序中的ObservableCollection。页面上的UI控件向集合中添加和删除对象,该控件在列表自动更新时工作正常 切换应用程序并返回应用程序后,按钮会添加对象,但绑定似乎丢失了。你知道我回来后怎么能保持这个吗?我真的不认为需要重新绑定对象(在XAML中定义它之后)。有没有什么办法可以让这种模式万无一失?并且确保在返回应用程序时不会丢失绑定 XAML看起来像这样,但它在一个UserControl中-忘了提到这一点 Items

我已经设置了一个viewmodel,将listcontrol绑定到程序中的ObservableCollection。页面上的UI控件向集合中添加和删除对象,该控件在列表自动更新时工作正常

切换应用程序并返回应用程序后,按钮会添加对象,但绑定似乎丢失了。你知道我回来后怎么能保持这个吗?我真的不认为需要重新绑定对象(在XAML中定义它之后)。有没有什么办法可以让这种模式万无一失?并且确保在返回应用程序时不会丢失绑定

XAML看起来像这样,但它在一个UserControl中-忘了提到这一点

ItemsControl x:Name=“PartyCollection”ItemTemplate=“{StaticResource PartyCollectiontemplate}”ItemsSource=“{Binding RoomParty,Source={StaticResource FormControlVM}”

代码隐藏看起来像这样

public class FormControlVM : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    public ObservableCollection<Party> RoomParty
    {
        get
        {
            return App.appData.currentChoices.roomParty;
        }
        set
        {
            App.appData.currentChoices.roomParty = value;
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs("RoomParty"));
        }
    }
}
公共类FormControlVM:INotifyPropertyChanged
{
公共事件属性更改事件处理程序属性更改;
公众观察收集室聚会
{
得到
{
返回App.appData.currentChoices.roomParty;
}
设置
{
App.appData.currentChoices.roomParty=值;
if(PropertyChanged!=null)
房地产变更(即新的房地产变更协议(“RoomParty”);
}
}
}

您有简单的复制吗?(你可以用很多方法来做你描述的事情。)我很惊讶它没有在内部处理它。你认为我应该重新绑定这些值吗?我刚刚发现这可能是因为我正在序列化/反序列化App.appData.CurrentChoices,并且我不确定ObservaleCollection是否可序列化。有什么建议吗?看起来我应该使用CollectionChanged而不是PropertyChanged,但我在网上找不到太多帮助。