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