Application.Current.Windows stores all windows you created : Application « 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="AppWindowsSample" Height="200" Width="300" 
    xmlns:my="clr-namespace:System;assembly=mscorlib">
  <StackPanel>
    <Menu Name="menu1" >
      <MenuItem Header="Window" x:Name="windowMenu">
        <MenuItem Header="SubmenuOpened event" />
      </MenuItem>
    </Menu>
    <Button Margin="10" Name="newWindowButton" Height="23" VerticalAlignment="Top">New Window</Button>
    <StatusBar Grid.Row="2" Name="statusBar1" >
      <TextBlock x:Name="statusText">Status</TextBlock>
    </StatusBar>
    <Button Height="23" Margin="10" Name="shutdownButton" VerticalAlignment="Top" >Shutdown</Button>
  </StackPanel>
</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;
using System.Windows.Controls.Primitives;
using System.Diagnostics;
using System.ComponentModel;


namespace WpfApplication1 {
  public partial class Window1 : System.Windows.Window {

    public Window1() {
      InitializeComponent();

      DataContext = Application.Current.Windows;
      statusText.Text = Application.Current.ShutdownMode.ToString();

      newWindowButton.Click += new RoutedEventHandler(newWindowButton_Click);
      shutdownButton.Click += new RoutedEventHandler(shutdownButton_Click);
      windowMenu.SubmenuOpened += new RoutedEventHandler(windowMenu_SubmenuOpened);
      Closing += Window1_Closing;
    }

    public void windowMenu_SubmenuOpened(object sender, RoutedEventArgs e) {
      windowMenu.Items.Clear();
      foreach( Window window in Application.Current.Windows ) {
        MenuItem item = new MenuItem();
        item.Header = window.Title;
        item.Click += windowMenuItem_Click;
        item.Tag = window;
        item.IsChecked = window.IsActive;
        windowMenu.Items.Add(item);
      }
    }

    public void windowMenuItem_Click(object sender, RoutedEventArgs e) {
      Window window = (Window)((MenuItem)sender).Tag;
      window.Activate();
    }

    public void newWindowButton_Click(object sender, RoutedEventArgs e) {
      Window window = new Window();
      window.Title = "Window " + DateTime.Now;
      window.Width = 200;
      window.Height = 100;
      window.Show();
      statusText.Text = Application.Current.ShutdownMode.ToString();
    }

    void shutdownButton_Click(object sender, RoutedEventArgs e) {
      Application.Current.Shutdown();
    }

    void Window1_Closing(object sender, CancelEventArgs e) {
      if( MessageBox.Show("Do you really want to shut down?", "Shutting Down", MessageBoxButton.YesNo) == MessageBoxResult.No ) {
        e.Cancel = true;
      }
    }


  }
}
WPF Application Current Windows Stores All Windows You Created








24.127.Application
24.127.1.Use Application.Current.Dispatcher.Invoke to throw an exceptionUse Application.Current.Dispatcher.Invoke to throw an exception
24.127.2.(ResourceDictionary)Application.LoadComponent(ResourceDictionary)Application.LoadComponent
24.127.3.Application.GetResourceStreamApplication.GetResourceStream
24.127.4.Application Exit eventApplication Exit event
24.127.5.Handle Application DispatcherUnhandledExceptionHandle Application DispatcherUnhandledException
24.127.6.Application Startup eventApplication Startup event
24.127.7.Store the variable in the application and get it backStore the variable in the application and get it back
24.127.8.Application.Current.Windows stores all windows you createdApplication.Current.Windows stores all windows you created
24.127.9.Application.Current.ShutdownModeApplication.Current.ShutdownMode
24.127.10.Implement Application.DoEvents in WPFImplement Application.DoEvents in WPF
24.127.11.Throw Application event from button click event handlerThrow Application event from button click event handler
24.127.12.Shut down the application in Window closing eventShut down the application in Window closing event
24.127.13.Menu with Application command: cut, copy, pasteMenu with Application command: cut, copy, paste
24.127.14.Use Application Command to edit RichTextBoxUse Application Command to edit RichTextBox
24.127.15.Exit current action with Application.Current.ShutdownExit current action with Application.Current.Shutdown
24.127.16.Set and get data from Application.Current.PropertiesSet and get data from Application.Current.Properties
24.127.17.Localizable Application by putting localized resource in XamlLocalizable Application by putting localized resource in Xaml
24.127.18.Application NavigationFailed eventApplication NavigationFailed event
24.127.19.Application Events SampleApplication Events Sample
24.127.20.Single Instance SampleSingle Instance Sample
24.127.21.StartupUri attributeStartupUri attribute
24.127.22.Using GetContentStreamUsing GetContentStream
24.127.23.Create and retrieve cookies from a Windows Presentation Foundation (WPF) application using SetCookie and GetCookie.Create and retrieve cookies from a Windows Presentation Foundation (WPF) application using SetCookie and GetCookie.
24.127.24.Get a handle to the current app and shut it downGet a handle to the current app and shut it down
24.127.25.extends Application
24.127.26.Commandline to compile WPF application
24.127.27.Add application exit event handler
24.127.28.Code Only WPF Application Sample
24.127.29.A Simple WPF Application, written XMAL-Free.
24.127.30.Inherit Application class and override OnStartup
24.127.31.Inherit Application class and listen to session ending event
24.127.32.Set SessionEndingCancelEventArgs.Cancel to true to cancel session ending event