public static void ViewClose(ViewModelBase viewModel) { if (OpenViewModelMapping.ContainsKey(viewModel)) { var window = OpenViewModelMapping[viewModel]; window.Close(); OpenViewModelMapping.Remove(viewModel); } }
public static void ViewShow(ViewModelBase viewModel) { foreach (ViewModelBase vmb in OpenViewModelMapping.Keys) { if (viewModel.Equals(vmb)) { throw new ArgumentException("View model is open"); } } var typeViewModel = viewModel.GetType(); if (Mapping.ContainsKey(typeViewModel)) { Type typeView = Mapping[typeViewModel]; var window = (Window)Activator.CreateInstance(typeView); window.DataContext = viewModel; window.Show(); OpenViewModelMapping.Add(viewModel, window); } }