public void ReleaseViewModel(BaseViewModel viewModel, FrameworkElement element) { var key = element.GetType(); _recycledViewModels.TryGetValue(key, out var previous); _recycledViewModels[key] = viewModel; viewModel.Deactivate(); if (!object.ReferenceEquals(previous, viewModel)) { previous.SafeDispose(); } }