Do not handle events until Window is fully initialized. : Window Event « Windows Presentation Foundation « C# / CSharp 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.cs
using System;
using System.Windows;
using System.Windows.Controls;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            ComboBoxItem item = comboBox.SelectedItem as ComboBoxItem;

            if (item != null)
            {
                MessageBox.Show("Current item: " + item.Content, Title);
            }
            else if (!String.IsNullOrEmpty(comboBox.Text))
            {
                MessageBox.Show("Text entered: " + comboBox.Text, Title);
            }
        }

        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

            if (!IsInitialized) return;

            ComboBoxItem item = comboBox.SelectedItem as ComboBoxItem;

            if (item != null)
            {
                MessageBox.Show("Selected item: " + item.Content, Title);
            }
        }

        private void ComboBoxItem_Selected(object sender,RoutedEventArgs e)
        {
            if (!IsInitialized) return;

            ComboBoxItem item = e.OriginalSource as ComboBoxItem;

            if (item != null)
            {
                MessageBox.Show(item.Content + " was selected.", Title);
            }
        }
    }
}
WPF Do Not Handle Events Until Window Is Fully Initialized








24.71.Window Event
24.71.1.Window mouse down eventWindow mouse down event
24.71.2.Window Preview mouse down eventWindow Preview mouse down event
24.71.3.Window mouse up eventWindow mouse up event
24.71.4.Window.DragMoveWindow.DragMove
24.71.5.Window.CommandBindingsWindow.CommandBindings
24.71.6.Use Window Activated and Deactivated event to control a media fileUse Window Activated and Deactivated event to control a media file
24.71.7.Custom Element Binding WindowCustom Element Binding Window
24.71.8.ShutdownMode.OnLastWindowCloseShutdownMode.OnLastWindowClose
24.71.9.Window Loaded eventWindow Loaded event
24.71.10.Close a window with Escape key pressedClose a window with Escape key pressed
24.71.11.Window Closing and Closed eventWindow Closing and Closed event
24.71.12.Create Window and add window closing event handlerCreate Window and add window closing event handler
24.71.13.Do not handle events until Window is fully initialized.Do not handle events until Window is fully initialized.
24.71.14.Window On Mouse move eventWindow On Mouse move event
24.71.15.Window On Mouse up eventWindow On Mouse up event
24.71.16.Window Preview Key EventsWindow Preview Key Events
24.71.17.Listen to Window loaded eventListen to Window loaded event
24.71.18.Listen to window resize event
24.71.19.Retrieving the mouse position relative to controls on a WindowRetrieving the mouse position relative to controls on a Window
24.71.20.Listen to text input event for Window
24.71.21.Get input text from TextCompositionEventArgs.Text
24.71.22.Cancel window closing event