Lo que en realidad llegó a tener que hacer en VB:
Crear una nueva clase pública para mis comandos personalizados porque era usted ndesirable tener mi clase MainWindow como público:
Public Class Commands
Public Shared myCmd As New RoutedCommand
End Class
Cree el ejecutar y métodos CanExecute que se ejecutan el código deseado. Estos dos métodos se han creado en el código MainWindow atrás:
Class MainWindow
Private Sub myCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
e.CanExecute = True
e.Handled = True
End Sub
Private Sub myCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
//Do stuff here...
e.Handled = True
End Sub
End Class
Crear la unión en MainWindow de código subyacente de comandos y añadir los dos métodos de control de la unión (esta es la parte que es muy diferente entre C# y VB):
Class MainWindow
Public Sub New()
// This call is required by the designer.
InitializeComponent()
//Add any initialization after the InitializeComponent() call.
//Create command bindings.
Dim cb As New CommandBinding(Commands.myCmd)
AddHandler cb.CanExecute, AddressOf myCmdCanExecute
AddHandler cb.Executed, AddressOf myCmdExecuted
Me.CommandBindings.Add(cb)
End Sub
End Class
Añadir el nuevo comando personalizado al objeto botón en el control de usuario. Con un comando personalizado, esto no parecía posible en XAML, así que tuve que hacerlo en código subyacente. La clase comandos necesarios para ser públicos por lo que las órdenes eran accesibles en este control de usuario:
Public Class myUserControl
Public Sub New()
//This call is required by the designer.
InitializeComponent()
// Add any initialization after the InitializeComponent() call.
myButton.Command = Commands.myCmd
End Sub
End Class
Yp, otra respuesta de 404, ¡esta vez incluso aceptada! – Rbjz
Desenterré el artículo del archivo de internet "The Wayback Machine". No estoy seguro de que lo mejor fuera evitar enlaces rotos cuando el sitio web ya no existe y el contenido del artículo es demasiado para incluirlo aquí. https://web.archive.org/web/20121102095816/http://www.switchonthecode.com/tutorials/wpf-tutorial-command-bindings-and-custom-commands –
el tutorial tenía demasiado para leer mi apetito Propuse dar un ejemplo de trabajo. – Rbjz