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;
}
}
}
Related examples in the same category