Application.Current.Windows stores all windows you created : Application « Windows Presentation Foundation « C# / C Sharp






Application.Current.Windows stores all windows you created

Application.Current.Windows stores all windows you created
  


<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;
      }
    }


  }
}

   
    
  








Related examples in the same category

1.Use Application.Current.Dispatcher.Invoke to throw an exceptionUse Application.Current.Dispatcher.Invoke to throw an exception
2.(ResourceDictionary)Application.LoadComponent
3.Application.GetResourceStream
4.Application Exit event
5.Handle Application DispatcherUnhandledException
6.Application Startup event
7.Store the variable in the application and get it backStore the variable in the application and get it back
8.Application.Current.ShutdownModeApplication.Current.ShutdownMode
9.Implement Application.DoEvents in WPFImplement Application.DoEvents in WPF
10.Throw Application event from button click event handlerThrow Application event from button click event handler
11.Shut down the application in Window closing eventShut down the application in Window closing event
12.Menu with Application command: cut, copy, pasteMenu with Application command: cut, copy, paste
13.Use Application Command to edit RichTextBoxUse Application Command to edit RichTextBox
14.Exit current action with Application.Current.ShutdownExit current action with Application.Current.Shutdown
15.Set and get data from Application.Current.PropertiesSet and get data from Application.Current.Properties
16.Localizable Application by putting localized resource in XamlLocalizable Application by putting localized resource in Xaml
17.Application NavigationFailed event
18.Application Events Sample
19.Single Instance Sample
20.StartupUri attribute
21.Using GetContentStream
22.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.
23.Get a handle to the current app and shut it downGet a handle to the current app and shut it down