Salut !
J'ai environ 15 jours d’expérience dans le développement C# .NET ...
Je suis actuellement en train de réaliser un projet implémenté avec le pattern MVVM. Pour le moment, pas de soucis majeur.
Cependant, j'atteins le stade ou je commence a avoir besoin des évènements customs (et leur handlers).
J'ai dans ma MainWindow un TabControl ainsi que des boutons sur la page d'accueil (WelcomeView).
J'aimerai pouvoir réaliser un système d’évènements qui permette a l'utilisateur de cliquer sur un des boutons et de lier l'ouverture d'un nouvel onglet (ou le passer de Collapsed a Visible s'il est juste masqué).
J'ai regarder ici pour voir le fonctionnement des évènements cependant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <TabControl x:Name="TabController" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" BorderThickness="0"> <TabItem Header="Accueil"> <Grid Background="#FFE5E5E5"> <View:WelcomeView x:Name="WelcomeView"/> </Grid> </TabItem> <TabItem Header="TabItem"> <Grid Background="#FFE5E5E5"> <View:ModuleLoaderView x:Name="ModuleView"/> </Grid> </TabItem> </TabControl>
J'ai donc créé ma classe d’évènement et j'ai voulu dire a ma MainWindow de catcher cet évènement.
Hors depuis la MainWindow je n'ai pas accès aux ViewModels / Services qui vont raise des events (parce que -j'essaye- de passer par ModuleLoaderView qui devrai se charger d'afficher la vue du module demandé).
Comment puis-je implémenter mon handler en respectant le pattern MVVM ?
Et comment je peux accéder et définir mon équivalent du champ "myTextGenerator.OnTextChanged" (cf tuto cité plus haut, partie IV) alors que je n'ai pas accès aux ViewModels / Services pouvant raise les évènements ?
J'avais penser a faire une classe singleton héritant de TabControl qui me permettrait d'y accéder depuis n'importe quel module / service, mais cela me semble un peu extrême comme solution et je ne pense pas que ça va résoudre mes problèmes d’accès pour définir le handler..
Merci
Dotixx
Partager