Mega Code Archive

 
Categories / C# / WPF
 

Create Window and add window closing event handler

<Window x:Class="WpfApplication1.Window1"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:system="clr-namespace:System.Windows;assembly=PresentationFramework"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   Title="Main Window" Height="310" Width="280" Loaded="Window1_Loaded"> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Media; namespace WpfApplication1 {     public partial class Window1 : Window     {         public Window1()         {             InitializeComponent();         }         private void Window1_Loaded(object sender, RoutedEventArgs e)         {             Brush[] backgrounds = new Brush[5]{ Brushes.Red,                                                  Brushes.Blue,                                                  Brushes.Green,                                                  Brushes.Yellow,                                                  Brushes.HotPink};             for (int i = 1; i <= 5; i++)             {                 Window window = new Window();                 SetupWindow(window, "Window " + i, backgrounds[i - 1]);                 window.Show();             }                      }         private void SetupWindow(Window window, string title, Brush background)         {             window.Closing += new CancelEventHandler(Window_Closing);             window.Closed += new EventHandler(Window_Closed);             window.Title = title;             window.Width = 100d;             window.Height = 100d;             Viewbox viewBox = new Viewbox();             TextBlock textBlock = new TextBlock();             window.Background = background;             viewBox.Child = textBlock;             textBlock.Text = window.Title;             window.Content = viewBox;         }         private void Window_Closed(object sender, EventArgs e)         {             Console.WriteLine("closed");         }         private void Window_Closing(object sender, CancelEventArgs e)         {             Window w = sender as Window;             if (w == null)                 return;         }     } }