Window with Menu, ToolBar, StatusBar : Menu « Windows Presentation Foundation « C# / C Sharp






Window with Menu, ToolBar, StatusBar

Window with Menu, ToolBar, StatusBar
 
<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WpfApplication1" Height="400" Width="500"
    WindowStartupLocation ="CenterScreen" >
  <DockPanel>
    <Menu DockPanel.Dock ="Top" HorizontalAlignment="Left" Background="White" BorderBrush ="Black">
      <MenuItem Header="_File" Click ="FileExit_Click" >
        <Separator/>
        <MenuItem Header ="_Exit" MouseEnter ="MouseEnterExitArea" MouseLeave ="MouseLeaveArea" Click ="FileExit_Click"/>
      </MenuItem>
      <MenuItem Header="_Edit">
        <MenuItem Command ="ApplicationCommands.Copy"/>
        <MenuItem Command ="ApplicationCommands.Cut"/>
        <MenuItem Command ="ApplicationCommands.Paste"/>
      </MenuItem>
      <MenuItem Header="_Tools">
        <MenuItem Header ="_Spelling Hints" MouseEnter ="MouseEnterToolsHintsArea" MouseLeave ="MouseLeaveArea" Click ="ToolsSpellingHints_Click"/>
      </MenuItem>
    </Menu>
    <ToolBar DockPanel.Dock ="Top" >
      <Button Content ="Exit" MouseEnter ="MouseEnterExitArea"
                    MouseLeave ="MouseLeaveArea" Click ="FileExit_Click"/>
      <Separator/>
      <Button Content ="Check" MouseEnter ="MouseEnterToolsHintsArea"
                    MouseLeave ="MouseLeaveArea" Click ="ToolsSpellingHints_Click"
                    Cursor="Help" />
    </ToolBar>
    <StatusBar DockPanel.Dock ="Bottom" Background="Beige" >
      <StatusBarItem>
        <TextBlock Name="statBarText">Ready</TextBlock>
      </StatusBarItem>
    </StatusBar>
    <Grid DockPanel.Dock ="Left">
      <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
      </Grid.ColumnDefinitions>
      <GridSplitter Grid.Column ="0" Width ="5" Background ="Gray" />
      <StackPanel Grid.Column="0" VerticalAlignment ="Stretch" >
        <Label Name="lblSpellingInstructions" Margin="10,10,0,0">Spelling Hints</Label>
        <Expander Name="expanderSpelling" Header ="Try these!" Margin="10,10,10,10">
          <Label Name ="lblSpellingHints"/>
        </Expander>
      </StackPanel>
      <TextBox Grid.Column ="1"
          SpellCheck.IsEnabled ="True"
          AcceptsReturn ="True"
          Name ="txtData">
      </TextBox>
    </Grid>
  </DockPanel>
</Window>
//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;


namespace WpfApplication1
{
  public partial class MainWindow : System.Windows.Window
  {
    public MainWindow()
    {
      InitializeComponent();
      SetF1CommandBinding();
    }
    protected void FileExit_Click(object sender, RoutedEventArgs args)
    {
      Application.Current.Shutdown();
    }
    protected void ToolsSpellingHints_Click(object sender, RoutedEventArgs args)
    {
      string spellingHints = string.Empty;
      SpellingError error = txtData.GetSpellingError(txtData.CaretIndex);
      if (error != null)
      {
        foreach (string s in error.Suggestions)
        {
          spellingHints += string.Format("{0}\n", s);
        }
        lblSpellingHints.Content = spellingHints;
        expanderSpelling.IsExpanded = true;
      }
    }
    protected void MouseEnterExitArea(object sender, RoutedEventArgs args)
    {
      statBarText.Text = "Exit the Application";
    }
    protected void MouseEnterToolsHintsArea(object sender, RoutedEventArgs args)
    {
      statBarText.Text = "Spelling Suggestions";
    }
    protected void MouseLeaveArea(object sender, RoutedEventArgs args)
    {
      statBarText.Text = "Ready";
    }
    private void SetF1CommandBinding()
    {
      CommandBinding helpBinding = new CommandBinding(ApplicationCommands.Help);
      helpBinding.CanExecute += CanHelpExecute;
      helpBinding.Executed += HelpExecuted;
      CommandBindings.Add(helpBinding);
    }

    private void CanHelpExecute(object sender, CanExecuteRoutedEventArgs e)
    {
      e.CanExecute = true;
    }
    private void HelpExecuted(object sender, ExecutedRoutedEventArgs e)
    {
      MessageBox.Show("type something!", "Help!");
    }
  }
}

   
  








Related examples in the same category

1.File menuFile menu
2.Menu and MenuItemMenu and MenuItem
3.Menu With Sub headingMenu With Sub heading
4.A main menuA main menu
5.MenuItems with CommandsMenuItems with Commands
6.Menu item with shortcut and access keyMenu item with shortcut and access key
7.MenuItem Commands And EventsMenuItem Commands And Events
8.Add MenuItem to MenuAdd MenuItem to Menu
9.MenuItem opened eventMenuItem opened event
10.Use MenuItem.Tag to store user objectUse MenuItem.Tag to store user object
11.Format TextBox with MenuItem: normal, bold, italicFormat TextBox with MenuItem: normal, bold, italic
12.MenuBar and ToolBarMenuBar and ToolBar
13.Add Menu to NavigationWindow ContentAdd Menu to NavigationWindow Content
14.Menu item action handlerMenu item action handler