MenuBar and ToolBar : Menu « Windows Presentation Foundation « VB.Net Tutorial






<Window x:Class="Commands.TwoDocument"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="TwoDocument" Height="300" Width="300">

  <Window.Resources>
    <CommandBinding x:Key="binding" Command="ApplicationCommands.Save" Executed="SaveCommand" CanExecute="SaveCommand_CanExecute" />
  </Window.Resources>

  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto"></RowDefinition>
      <RowDefinition Height="Auto"></RowDefinition>
      <RowDefinition></RowDefinition>
      <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <Menu Grid.Row="0">
      <MenuItem Header="File">
        <MenuItem Command="New"></MenuItem>
        <MenuItem Command="Open"></MenuItem>
        <MenuItem Command="Save"></MenuItem>
        <MenuItem Command="SaveAs"></MenuItem>
        <Separator></Separator>
        <MenuItem Command="Close"></MenuItem>
      </MenuItem>
    </Menu>

    <ToolBarTray Grid.Row="1">
      <ToolBar>
        <Button Command="New">New</Button>
        <Button Command="Open">Open</Button>
        <Button Command="Save">Save</Button>
      </ToolBar>
      <ToolBar>
        <Button Command="Cut">Cut</Button>
        <Button Command="Copy">Copy</Button>
        <Button Command="Paste">Paste</Button>
      </ToolBar>
    </ToolBarTray>
    <TextBox Margin="5" Grid.Row="2" TextWrapping="Wrap" AcceptsReturn="True" TextChanged="txt_TextChanged">
      <TextBox.CommandBindings>
        <StaticResource ResourceKey="binding"></StaticResource>
      </TextBox.CommandBindings>
      
    </TextBox>
    <TextBox Margin="5" Grid.Row="3" TextWrapping="Wrap" AcceptsReturn="True" TextChanged="txt_TextChanged">
      <TextBox.CommandBindings>
        <StaticResource ResourceKey="binding"></StaticResource>

        <CommandBinding Command="ApplicationCommands.Save"
          Executed="SaveCommand" />
      </TextBox.CommandBindings>
    </TextBox>
  </Grid>
</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 TwoDocument
    Inherits System.Windows.Window
    Public Sub New()
    End Sub

    Private Sub SaveCommand(sender As Object, e As ExecutedRoutedEventArgs)
      Console.WriteLine("SaveCommand")
    End Sub
    Private Sub txt_TextChanged(sender As Object, e As RoutedEventArgs)
      Console.WriteLine("text changed")
    End Sub
    Private Sub SaveCommand_CanExecute(sender As Object, e As CanExecuteRoutedEventArgs)
      e.CanExecute = False
    End Sub
  End Class
End Namespace
WPF Menu Bar And Tool Bar








16.22.Menu
16.22.1.Mixed MenusMixed Menus
16.22.2.Sidebar MenuSidebar Menu
16.22.3.Put a Menu and toolbar on the top of a DockPanelPut a Menu and toolbar on the top of a DockPanel
16.22.4.Nesting content inside MenuItem.HeaderNesting content inside MenuItem.Header
16.22.5.Multiple command targetsMultiple command targets
16.22.6.Commands with a menu and text boxCommands with a menu and text box
16.22.7.Set Access key for Menu with underscoreSet Access key for Menu with underscore
16.22.8.Menu and MenuItemMenu and MenuItem
16.22.9.MenuItem Commands And EventsMenuItem Commands And Events
16.22.10.Display a Context Menu with OpacityDisplay a Context Menu with Opacity
16.22.11.MenuBar and ToolBarMenuBar and ToolBar
16.22.12.Add Menu to NavigationWindow ContentAdd Menu to NavigationWindow Content
16.22.13.Menu item action handlerMenu item action handler