/// <summary> /// Occurs on save element state. /// </summary> public virtual void OnSaveState(FrameworkElement element, IDictionary <string, object> state, object args, IDataContext context = null) { Should.NotBeNull(element, "element"); Should.NotBeNull(state, "state"); var viewModel = element.DataContext as IViewModel; if (viewModel != null) { state[VmStateKey] = new LazySerializableContainer(_serializer, _viewModelProvider.PreserveViewModel(viewModel, context ?? DataContext.Empty), viewModel); } }
/// <summary> /// Preserves the view model. /// </summary> protected virtual void PreserveViewModel([NotNull] IViewModel viewModel, [NotNull] FrameworkElement element, [NotNull] IDictionary<string, object> state, [NotNull] object args, [NotNull] IDataContext context) { state[VmStateKey] = new LazySerializableContainer(_serializer, _viewModelProvider.PreserveViewModel(viewModel, context), viewModel); }
protected virtual void PreserveViewModel([NotNull] IViewModel viewModel, [NotNull] FrameworkElement element, [NotNull] IDictionary <string, object> state, [NotNull] object args, [NotNull] IDataContext context) { state[VmStateKey] = new LazySerializableContainer(_serializer, _viewModelProvider.PreserveViewModel(viewModel, context)); }