2010-11-28 4 views
1

Comment modifier le DataContext en un autre modèle de vue lors de l'exécution. Maintenant, les données ne change pas, après je lance l'événement click:WP7 Silverlight - Modification de DataContext dans l'environnement d'exécution

public PivotPage1() 
    { 
     InitializeComponent(); 
     DataContext = App.TeamDocViewModel; 
    } 

    private void Button_Click(object sender, EventArgs e) 
    { 
     DataContext = App.TaskViewModel; 
    } 

Quelques suggestions?

+1

D'abord je pense que vous avez une faute de frappe: App.TaskViewMode devrait être App.TaskViewModel. Deuxièmement: Votre code devrait fonctionner. Il pourrait y avoir un problème avec la liaison dans votre fichier xaml, serait nie si vous postez ici. (Peut-être que vous vous liez aux sous-membres comme "User.Name" et n'implémentez pas INotifyPropertyChanged dans vos modèles) –

+0

Il se construit très bien, et il n'y a pas d'erreur. Ca met le premier modèle de vue, c'est aussi plutôt sympa! Mais lorsque j'essaie de modifier le DataContext, je ne change pas les données, mais j'affiche les données même de l'ancien modèle. J'ai écrit le mauvais ici, mis à jour maintenant. – sv88erik

+0

Que se passe-t-il si vous modifiez DataContext = App.TaskViewModel; à DataContext = null; ?) Xaml est intéressant à voir. –

Répondre

1

D'abord je pense que vous avez une faute de frappe: App.TaskViewMode devrait être App.TaskViewModel. Deuxièmement: Votre code devrait fonctionner. Il pourrait y avoir un problème avec la liaison dans votre fichier xaml, serait nie si vous postez ici. (Peut-être que vous liez à des sous-membres comme "User.Name" et n'implémentez pas INotifyPropertyChanged dans vos modèles)

Que se passe-t-il si vous modifiez DataContext = App.TaskViewModel; à DataContext = null; ?) Xaml est intéressant à voir.

0

Le code que vous écrivez devrait être bon. Cela dépend de ce qu'est TaskViewMode et comment cela fonctionne. En supposant qu'il est basé sur le MainViewModel dans le modèle de projet Pivot par défaut.

Apposez-vous LoadData() pour ajouter à la collection d'objets?

Questions connexes