Binding ApplicationCommands.New Command to your own handler
<Window x:Class="Commands.TestNewCommand"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TestNewCommand" Height="150" Width="300">
<Window.CommandBindings>
<CommandBinding Command="ApplicationCommands.New" Executed="NewCommand" />
</Window.CommandBindings>
<StackPanel >
<Menu>
<MenuItem Header="File">
<MenuItem Command="New"></MenuItem>
</MenuItem>
</Menu>
<Button Margin="5" Padding="5" Command="ApplicationCommands.New" ToolTip="{x:Static ApplicationCommands.New}">New</Button>
<Button Margin="5" Padding="5" Visibility="Hidden" Command="ApplicationCommands.Open">Open (unwired)</Button>
<Button Margin="5" Padding="5" Visibility="Hidden" Click="cmdDoCommand_Click" >DoCommand</Button>
</StackPanel>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Shapes
Namespace Commands
Public Partial Class TestNewCommand
Inherits System.Windows.Window
Public Sub New()
InitializeComponent()
End Sub
Private Sub NewCommand(sender As Object, e As ExecutedRoutedEventArgs)
MessageBox.Show("New command triggered by " & e.Source.ToString())
End Sub
Private Sub cmdDoCommand_Click(sender As Object, e As RoutedEventArgs)
Me.CommandBindings(0).Command.Execute(Nothing)
End Sub
End Class
End Namespace
Related examples in the same category