In the example shown below, I also have a base window class that inherits/implements INotifyPropert圜hanged ( NotifiableWindow), so I inherit from that window class, and the IModelessWindow interface. In my case, I have a WpfCommon assembly where all of my general WPF stuff lives.ġ) When you create a window that is intended to be put in the window manager, you must inherit and implement the IModelessWindow interface. There is no XAML involved in the actual implementation, other than when you create your modeless windows, but even they don't use any if the window manager features.Ġ) Add the ModelessWindowMgr file to your project in any way that suits your project. Sample code provided below is only here to illustrate what needs to be done, and is an abbreviated version of what is in the sample code. Here are the steps to minimally implement the ModelessWindowMgr. You can prevent a given modeless window from being used as a modal form.
While modeless windows really aren't new or exciting, I had the added consideration of not allowing the user to select the same user twice and have two different windows (the data is static, so there's no point in having two windows showing the same data. These modeless windows present training data for individuals, test metrics for individuals, and available course data. At work, I recently had to develop a tool that creates several modeless windows.