Je dois capturer lorsque l'événement Page_SizeChanged se déclenche dans une application WPF Browser et publier l'événement via le Prism EventAggregator. Étant donné que la page qui m'intéresse est la page Shell, je n'ai pas de ViewModel attaché où je peux accéder à l'agrégateur d'événements.Gestion des événements de modification de la taille de page avec Prism et Event Aggregator
1
A
Répondre
1
Dans votre programme d'amorçage (classe dérivée de UnityBootstrapper) où vous initialisez votre shell, IEventAggragator est enregistré avec le conteneur Unity lors de l'appel de la méthode ConfigureContainer de la classe de base. Par conséquent, si vous substituez ConfigureContainer, vous pouvez résoudre le aggrégateur de l'événement:
protected override void ConfigureContainer()
{
base.ConfigureContainer();
IEventAggregator eventService = Container.Resolve<IEventAggregator>();
}
À ce stade, vous pouvez définir une propriété sur votre shell \ viewmodel avec l'instance d'agrégation d'événements, ou utiliser un modèle de type de localisation de service par exemple. C'est à toi de voir.
C'est exactement ce dont j'avais besoin. Je n'avais pas réalisé que vous pouviez résoudre l'EventAggregator. Je vous remercie! –