DataBindings perdidos durante App-Switching / Tombstoning en WP7

He configurado un modelo de vista para vincular un control de lista a un ObservableCollection en mi programa. un control de interfaz de usuario en la página agrega y elimina objetos a la colección, lo que funciona bien ya que la lista se actualiza automáticamente.

Después de cambiar de aplicación y regresar a la aplicación, los botones agregan los objetos, pero los enlaces parecen haberse perdido. ¿Alguna idea de cómo puedo mantener esto incluso después de regresar? Realmente no veo la necesidad de volver a enlazar el objeto (después de definirlo en XAML). ¿Hay alguna forma de hacer a prueba de tontos este patrón? y asegúrese de que los enlaces no se pierdan al regresar a la aplicación?

el XAML se ve así, pero está dentro de un UserControl; olvidé mencionar eso

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

el código subyacente se ve así

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"));
        }
    }
}

preguntado el 02 de febrero de 12 a las 10:02

¿Tienes una reproducción sencilla? (Hay muchas formas en las que podría estar haciendo lo que describe).

Me sorprende que no lo maneje internamente. ¿Crees que debería volver a unir los valores? -

Me acabo de enterar de que podría deberse a que estoy serializando / deserializando App.appData.CurrentChoices, y no estoy seguro de si ObservableCollection es serializable. ¿algún consejo? -

También parece que debería usar CollectionChanged en lugar de PropertyChanged, pero no encuentro mucha ayuda en línea. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.