WPF VB.Net

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="CommandHandlerProcedural"
    >

//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Input
Imports System.Windows.Media
Namespace WpfApplication1
  Public Partial Class Window1
    Inherits Window
    Public Sub New()
      InitializeComponent()
      Dim MainStackPanel As New StackPanel()
      Me.AddChild(MainStackPanel)
      Dim CommandButton As New Button()
      CommandButton.Command = ApplicationCommands.Open
      CommandButton.Content = "Open (KeyBindings: Ctrl-R, Ctrl-0)"
      MainStackPanel.Children.Add(CommandButton)
      Dim OpenCmdBinding As New CommandBinding(ApplicationCommands.Open, AddressOf OpenCmdExecuted, AddressOf OpenCmdCanExecute)
      Me.CommandBindings.Add(OpenCmdBinding)
      Dim OpenCmdKeyBinding As New KeyBinding(ApplicationCommands.Open, Key.R, ModifierKeys.Control)
      Me.InputBindings.Add(OpenCmdKeyBinding)
    End Sub
    Private Sub OpenCmdExecuted(target As Object, e As ExecutedRoutedEventArgs)
      MessageBox.Show("The command has been invoked.")
    End Sub
    Private Sub OpenCmdCanExecute(sender As Object, e As CanExecuteRoutedEventArgs)
      e.CanExecute = True
    End Sub
  End Class
End Namespace