|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) | |
|
Nouveau membre du Club
![]() Date d'inscription: juin 2009
Messages: 52
|
Bonjour,
Je suis nouveau sur le forum, sur WPF et même sur techno. .NET en général Et donc je suis en ce moment à la mise en place d'une application simple sur le modèle MVVM à partir de la vidéo assez connu sur le sujet de Jason Dolinger. Je précise que je développe en VB.NET. J'ai un problème au niveau de l'implémentation d'une commande implémentant ICommand : Code vb :
Public Delegate Sub EventHandler(ByVal sender As Object, ByVal e As System.EventArgs) Custom Event CanExecuteChanged As System.EventHandler Implements System.Windows.Input.ICommand.CanExecuteChanged AddHandler(ByVal value As System.EventHandler) CommandManager.RequerySuggested += value End AddHandler RemoveHandler(ByVal value As System.EventHandler) CommandManager.RequerySuggested -= value End RemoveHandler RaiseEvent() End RaiseEvent End Event Citation:
Code c# :
public event EventHandler CanExecuteChanged { add { CommandManager.RequerySuggested += value; } remove { CommandManager.RequerySuggested -= value; } } Mes questions sont donc comment bien implémenter cette fonction en VB.NET (car je doute vraiment de ma méthode). Et ensuite, l'utilité de cette méthode ? Si j'ai bien compris, elle est appellée lorsqu'il y a un changement qui affecte la commande ? Mais c'est assez imprécis. Merci de vos réponses Dernière modification par Robin56 ; 23/06/2009 à 14h15. |
|
|
|
|
|
|
#2 (permalink) | ||
![]() ![]() Date d'inscription: octobre 2002
Localisation: Région Parisienne
Âge: 27
Messages: 8 513
|
Citation:
Citation:
__________________
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là) A la découverte de .NET |
||
|
|
|
|
|
#3 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: juin 2009
Messages: 52
|
Justement, je viens d'un outils de conversion de code qui souvent a un bon rendu. Mais pour ce point précis, le code qu'il me propose, Visual Studio me jette. Donc mon code vient justement d'un refactoring de code convertit.
Ok. |
|
|
|
|
|
#4 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: juin 2009
Messages: 52
|
Pour revenir au problème :
Code vb :
Public Custom Event CanExecuteChanged As EventHandler AddHandler(ByVal value As EventHandler) If Me.canExecute IsNot Nothing Then CommandManager.RequerySuggested += value End If End AddHandler RemoveHandler(ByVal value As EventHandler) If Me.canExecute IsNot Nothing Then CommandManager.RequerySuggested -= value End If End RemoveHandler End Event Je voudrais savoir si quelqu'un aurait un échantillon de la méthode CanExecuteChanged en VB.NET. Merci de vos conseils |
|
|
|
|
|
#5 (permalink) |
![]() Date d'inscription: décembre 2004
Messages: 1 206
|
Salut,
Tu peux regarder dans la version vb (ici présente) d'un bon article sur le MVVM. Extrait du code : Code vb :
Public Custom Event CanExecuteChanged As EventHandler Implements System.Windows.Input.ICommand.CanExecuteChanged AddHandler(ByVal value As EventHandler) If _objCanExecuteMethod IsNot Nothing Then AddHandler CommandManager.RequerySuggested, value End If End AddHandler ' RemoveHandler(ByVal value As EventHandler) If _objCanExecuteMethod IsNot Nothing Then RemoveHandler CommandManager.RequerySuggested, value End If End RemoveHandler ' RaiseEvent(ByVal sender As Object, ByVal e As System.EventArgs) If _objCanExecuteMethod IsNot Nothing Then CommandManager.InvalidateRequerySuggested() End If End RaiseEvent End Event Je suis pas trop "vb", donc je n'en dirai pas davantage ^^ (on voit néanmoins quelques différences |
|
|
|
|
|
#6 (permalink) | |
|
Nouveau membre du Club
![]() Date d'inscription: juin 2009
Messages: 52
|
Merci pour ce lien, je vais regarder ça de ce pas
Citation:
... Ah cool ce bug tout bête qui me bloquait est résolu, merci (juste un problème de syntaxe donc comme je m'en doutais) ![]() A très bientôt pour ma prochaine question
|
|
|
|
|
|
|
![]() |
||
Modèle MVVM - Implémentation ICommand
|
||
| Outils de la discussion | |
|
|