Mega Code Archive

 
Categories / C# / WPF
 

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!");     }   } }