Window with Menu, ToolBar, StatusBar : Window « Windows Presentation Foundation « VB.Net Tutorial






<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.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 WpfApplication1
  Public Partial Class MainWindow
    Inherits System.Windows.Window
    Public Sub New()
      InitializeComponent()
      SetF1CommandBinding()
    End Sub
    Protected Sub FileExit_Click(sender As Object, args As RoutedEventArgs)
      Application.Current.Shutdown()
    End Sub
    Protected Sub ToolsSpellingHints_Click(sender As Object, args As RoutedEventArgs)
      Dim spellingHints As String = String.Empty
      Dim [error] As SpellingError = txtData.GetSpellingError(txtData.CaretIndex)
      If [error] IsNot Nothing Then
        For Each s As String In [error].Suggestions
          spellingHints += String.Format("{0}" & vbLf, s)
        Next
        lblSpellingHints.Content = spellingHints
        expanderSpelling.IsExpanded = True
      End If
    End Sub
    Protected Sub MouseEnterExitArea(sender As Object, args As RoutedEventArgs)
      statBarText.Text = "Exit the Application"
    End Sub
    Protected Sub MouseEnterToolsHintsArea(sender As Object, args As RoutedEventArgs)
      statBarText.Text = "Spelling Suggestions"
    End Sub
    Protected Sub MouseLeaveArea(sender As Object, args As RoutedEventArgs)
      statBarText.Text = "Ready"
    End Sub
    Private Sub SetF1CommandBinding()
      Dim helpBinding As New CommandBinding(ApplicationCommands.Help)
      AddHandler helpBinding.CanExecute, AddressOf CanHelpExecute
      AddHandler helpBinding.Executed, AddressOf HelpExecuted
      CommandBindings.Add(helpBinding)
    End Sub

    Private Sub CanHelpExecute(sender As Object, e As CanExecuteRoutedEventArgs)
      e.CanExecute = True
    End Sub
    Private Sub HelpExecuted(sender As Object, e As ExecutedRoutedEventArgs)
      MessageBox.Show("type something!", "Help!")
    End Sub
  End Class
End Namespace
WPF Window With Menu Tool Bar Status Bar








16.57.Window
16.57.1.Custom WindowCustom Window
16.57.2.Set window size in XAMLSet window size in XAML
16.57.3.A simple user-login XAML pageA simple user-login XAML page
16.57.4.User login screen with no layout or formattingUser login screen with no layout or formatting
16.57.5.Automatically Size the Main Application Window to Accommodate Its ContentAutomatically Size the Main Application Window to Accommodate Its Content
16.57.6.Window OwnershipWindow Ownership
16.57.7.Creating the main panel and add to Window in CodeCreating the main panel and add to Window in Code
16.57.8.Show window based on button nameShow window based on button name
16.57.9.Set a Default ButtonSet a Default Button
16.57.10.Window with Menu, ToolBar, StatusBarWindow with Menu, ToolBar, StatusBar
16.57.11.Order of precedence for sizing-related properties that are implemented by Window.Order of precedence for sizing-related properties that are implemented by Window.
16.57.12.Use Window Activated and Deactivated event to control a media fileUse Window Activated and Deactivated event to control a media file
16.57.13.Animated Video WindowAnimated Video Window
16.57.14.Use WindowState to make full screen window, change resize mode to NoReSizeUse WindowState to make full screen window, change resize mode to NoReSize
16.57.15.Do not handle events until Window is fully initialized.Do not handle events until Window is fully initialized.
16.57.16.Load resource from Window ResourcesLoad resource from Window Resources
16.57.17.Launch a window with defined XAMLLaunch a window with defined XAML
16.57.18.Display window as dialogDisplay window as dialog
16.57.19.Save Window Position to RegistrySave Window Position to Registry
16.57.20.Center a Window to ScreenCenter a Window to Screen