Maison > développement back-end > C++ > Comment naviguer entre les vues dans WPF MVVM sans frameworks externes?

Comment naviguer entre les vues dans WPF MVVM sans frameworks externes?

Linda Hamilton
Libérer: 2025-01-26 20:26:11
original
970 Les gens l'ont consulté

How to Navigate Between Views in WPF MVVM Without External Frameworks?

Navigation dans les vues WPF MVVM sans framework externe

Dans les applications WPF qui utilisent le modèle MVVM pour gérer plusieurs vues, la navigation entre les vues est cruciale. Cet article abordera la problématique du passage d'une vue à une autre, notamment lorsque la vue 2 est chargée dans la même fenêtre après avoir navigué depuis la vue 1.

Contrairement à ces liens de référence qui utilisent MVVM Light ou d'autres frameworks, voici une approche simplifiée qui ne nécessite aucune dépendance externe. Cette méthode utilise un modèle de données pour associer la vue au modèle de vue et utilise un ContentControl pour afficher la vue sélectionnée.

Modèle de données et liaison ViewModel

Dans une ressource telle que App.xaml, définissez un modèle de données pour mapper le modèle de vue à sa vue correspondante :

<DataTemplate DataType="{x:Type ViewModels:MainViewModel}"><MainView /></DataTemplate>
...
Copier après la connexion

Changer de vue depuis le ViewModel principal

Dans MainViewModel, créez une propriété ViewModel qui peut être définie sur un modèle de vue différent :

public BaseViewModel ViewModel { get; set; }
Copier après la connexion

Pour passer à une autre vue, il suffit d'attribuer le modèle de vue correspondant à cette propriété :

ViewModel = new PersonViewModel();
Copier après la connexion

Navigation dans les vues à partir des sous-vues

Pour pouvoir naviguer depuis les sous-vues, déclarez une commande dans le MainViewModel :

public ICommand DisplayPersonView
{
    get { return new RelayCommand(action => { ViewModel = new PersonViewModel(); }, canExecute => { ... }); }
}
Copier après la connexion

Dans la sous-vue XAML, liez la propriété Command du bouton à cette ICommand :

<Button Command="{Binding DisplayPersonView}" />
Copier après la connexion

En suivant ces étapes, vous pouvez naviguer efficacement dans les vues de votre application WPF MVVM, garantissant ainsi une expérience utilisateur fluide.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal