示例#1
0
        private void ShowWindowDialog_Closed(object a_sender, EventArgs a_e)
        {
            Window           window    = (Window)a_sender;
            IWindowViewModel viewModel = (IWindowViewModel)window.DataContext;

            viewModel.WindowClosed();

            viewModel.WindowView = null;
            window.Closing      -= ShowWindowDialog_Closing;
            window.Closed       -= ShowWindowDialog_Closed;

            Action closeAction = window.Tag as Action;

            if (closeAction != null)
            {
                closeAction();
                window.Tag = null;
            }

            // Remove the VM.
            IViewFor viewFor = window as IViewFor;

            if (viewFor != null)
            {
                viewFor.ViewModel = null;
            }
        }