Aide! Cela fait maintenant une semaine que j'ai commencé à essayer de créer une application MVVM dans VB.NET. Malheureusement, 98% de la documentation est orientée C#. J'ai trouvé quelques indices mais je n'ai pas encore toutes les réponses ...WPF MVVM VB.Net application de vues multiples
Ce que je veux faire: Une application avec 3 vues: LoginView, View1 et View2. Si aucun utilisateur n'est connecté, le loginView s'affiche (ce qui est correct). Lorsque l'utilisateur est connecté, je devrais charger View1 ou View2 concernant ses autorisations.
Il devrait être assez simple, mais que je trouve à peine les morceaux de ce puzzle que je presque perdu tous mes cheveux ...
Première question: Dans le LoginView comment puis-je vérifier les informations d'identification utilisateur? Comme je ne peux pas lier toute propriété à la PasswordBox, j'ai trouvé une doc disant que je devrais le faire de cette façon:
<Button x:Name="btnLogin" Content="Log in"
Command="{Binding Path=AuthenticateUser}"
CommandParameter="{Binding ElementName=txtPassword}"/>
Mais si je réussi à exécuter une commande sans paramètres, je ne peux pas trouver comment exécuter une commande WITH parameters. Une idée simple?
Pour exécuter une commande à partir d'un bouton, j'utilise la classe RelayCommand trouvé là: Implementing RelayCommand (MVVM) in VB.NET: Syntax problems
Je définis une propriété comme ceci:
Dim _relayCmd As New RelayCommand(AddressOf Authentication)
Public ReadOnly Property AuthenticateUser As ICommand
Get
Return _relayCmd
End Get
End Property
' Authentication method
Private Sub Authentication(ByVal _passwordBox As PasswordBox)
'do something...
End Sub
question Deuxième: Une fois que l'utilisateur est connecté, comment je passe à View1 ou View2? J'ai lu des doc disant que je devrais utiliser une collection observable de mes vues et naviguer à travers elle. Mais je devrais changer le datacontext de mon MainWindowView. Toujours pas trouvé le bon chemin dans VB.
Je ne veux pas que vous fassiez tout pour moi à la place je voudrais trouver un tutoriel facile qui peut expliquer clairement comment cela fonctionne dans VB.
Merci pour votre aide!
Encore une fois, vous m'avez sauvé la vie! Maintenant que vous l'avez écrit, la réponse semble si évidente! Je vous remercie! – Dams