Do not handle events until Window is fully initialized. : Window « Windows Presentation Foundation « VB.Net Tutorial






<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WPF" Height="100" Width="300">
    <StackPanel>
        <ComboBox Name="comboBox" IsEditable="True" Margin="5" SelectionChanged="ComboBox_SelectionChanged">
            <ComboBoxItem Content="ComboBox Item 1" Selected="ComboBoxItem_Selected" />
            <ComboBoxItem Content="ComboBox Item 2" Selected="ComboBoxItem_Selected" />
            <ComboBoxItem Content="ComboBox Item 3" Selected="ComboBoxItem_Selected" IsSelected="True"/>
            <ComboBoxItem Content="ComboBox Item 4" Selected="ComboBoxItem_Selected" />
            <ComboBoxItem Content="ComboBox Item 5" Selected="ComboBoxItem_Selected" />
        </ComboBox>
        <Button Content="Get Selected" Margin="5" Width="100" Click="Button_Click" />
    </StackPanel>
</Window>

//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Controls

Namespace WpfApplication1
  Public Partial Class Window1
    Inherits Window
    Public Sub New()
      InitializeComponent()
    End Sub
    Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
      Dim item As ComboBoxItem = TryCast(comboBox.SelectedItem, ComboBoxItem)

      If item IsNot Nothing Then
        MessageBox.Show("Current item: " & Convert.ToString(item.Content), Title)
      ElseIf Not [String].IsNullOrEmpty(comboBox.Text) Then
        MessageBox.Show("Text entered: " + comboBox.Text, Title)
      End If
    End Sub

    Private Sub ComboBox_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)

      If Not IsInitialized Then
        Return
      End If

      Dim item As ComboBoxItem = TryCast(comboBox.SelectedItem, ComboBoxItem)

      If item IsNot Nothing Then
        MessageBox.Show("Selected item: " & Convert.ToString(item.Content), Title)
      End If
    End Sub

    Private Sub ComboBoxItem_Selected(sender As Object, e As RoutedEventArgs)
      If Not IsInitialized Then
        Return
      End If

      Dim item As ComboBoxItem = TryCast(e.OriginalSource, ComboBoxItem)

      If item IsNot Nothing Then
        MessageBox.Show(Convert.ToString(item.Content) & " was selected.", Title)
      End If
    End Sub
  End Class
End Namespace
WPF Do Not Handle Events Until Window Is Fully Initialized








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