Mémoriser un seul élément d'état pour plusieurs instances d'une page
Mise à jour : novembre 2007
Cet exemple illustre la manière de mémoriser un seul élément d'état de page, parmi plusieurs instances de page, à l'aide d'une propriété de dépendance.
Cet exemple présente une fonctionnalité spécifique de Windows Presentation Foundation et, par conséquent, ne suit pas les meilleures pratiques de développement d'applications. Pour un traitement complet des meilleures pratiques de développements d'applications Windows Presentation Foundation (WPF) et Microsoft .NET Framework, reportez-vous, selon les cas, aux documents suivants :
Accessibilité - Meilleures pratiques d'accessibilité
Localisation - Vue d'ensemble de la globalisation et de la localisation WPF
Performances - Optimisation des performances des applications WPF
Sécurité - Sécurité de Windows Presentation Foundation
Génération de l'exemple
Installez le Kit de développement logiciel (SDK) Windows et ouvrez la fenêtre Commande de son environnement de génération. Dans le menu Démarrer, pointez sur Tous les programmes et sur Microsoft Windows SDK, puis cliquez sur CMD Shell.
Téléchargez l'exemple, généralement à partir de la documentation du Kit de développement logiciel (SDK), vers votre disque dur local.
Pour générer l'exemple à partir de la fenêtre Commande de l'environnement de génération, accédez au répertoire source de l'exemple. À l'invite de commandes, tapez MSBUILD.
Pour générer l'exemple dans Microsoft Visual Studio, chargez l'exemple de solution ou de fichier projet, puis appuyez sur CTRL+MAJ+B.
Exécution de l'exemple
Pour exécuter l'exemple compilé à partir de la fenêtre Commande de l'environnement de génération, exécutez le fichier .exe du dossier Bin\Debug ou Bin\Release contenu sous le dossier du code source de l'exemple.
Pour exécuter l'exemple compilé avec le débogage dans Visual Studio, appuyez sur F5.
Notes
Par défaut, Windows Presentation Foundation (WPF) ne stocke pas les instances de page dans l'historique de navigation. Au lieu de cela, une nouvelle instance de page est créée à chaque accès. WPF peut mémoriser les instances de page ainsi que, par conséquent, l'état de la page dans l'historique de navigation, bien que cela puisse être coûteux en termes de mémoire.
Cependant, WPF fournit une infrastructure vous permettant de stocker des informations d'état avec l'entrée de la page dans l'historique de navigation. Dans ce cas, vous pouvez utiliser l'état sauvegardé pour reconstituer l'état de la page après son instanciation.
Cet exemple vous montre comment utiliser une propriété de dépendance enregistrée dans un journal pour stocker et récupérer l'état de la page à l'aide de l'historique de navigation. Une propriété de dépendance enregistrée dans un journal est une propriété de dépendance possédant les métadonnées suivantes :
Cette technique est particulièrement utile lorsque vous devez stocker un unique élément d'état de page parmi plusieurs instances de page. Pour mémoriser un seul ensemble d'états pour plusieurs instances d'une page, envisagez d'utiliser IProvideCustomContentState (voir Mémoriser un seul ensemble d'états pour plusieurs instances d'une page). Pour mémoriser plusieurs ensembles d'états pour une seule instance de page, consultez Mémoriser plusieurs ensembles d'états par instance de page.
Remarque importante : |
---|
Lorsque vous stockez des informations dans un état de contenu personnalisé, vous ne pouvez pas stocker de références vers l'instance de la page dont vous mémorisez l'état. Ceci évite que WPF libère l'instance de page et se détourne de l'objectif du comportement par défaut de l'historique de navigation. Si tel est votre souhait, vous pouvez envisager de plutôt utiliser KeepAlive. |
Voir aussi
Tâches
Mémoriser un seul ensemble d'états pour plusieurs instances d'une page