private void Default_StateChanged(object sender, StateChangedEventArgs <RootState> e) { RootState state = e.State; ReduxMerger.MergeList <int, Step, StepViewModel>(state.Steps, Steps, step => new StepViewModel(step)); SelectedStep = state.SelectedStep != null?Steps.Single(s => s.Key == state.SelectedStep.Key) : null; }
void UpdateReduxState(object sender, StateChangedEventArgs <RootState> e) { isUpdatingState = true; try { state = e.State; AllChecked = e.State.AllChecked; NewItemText = e.State.NewItemText; int itemsLeft = e.State.Items.Count(i => !i.IsChecked); ItemsLeftInfo = $"{itemsLeft} item{(itemsLeft != 1 ? "s" : "")} left"; ReduxMerger.MergeList <int, TodoItem, TodoItemViewModel>(e.State.FilteredItems, Items, i => todoItemViewModelFactory(i)); Filter = e.State.Filter; AddItemCommand.RaiseCanExecuteChanged(); RemoveCompletedCommand.RaiseCanExecuteChanged(); SetFilterCommand.RaiseCanExecuteChanged(); } finally { isUpdatingState = false; } }
private void AppReduxDispatcher_StateChanged(object sender, StateChangedEventArgs <RootState> e) { isUpdatingState = true; try { state = e.State; ServerModels = state.Servers; ServersText = string.Join(Environment.NewLine, e.State.Servers.Select(s => s.Url)); ReduxMerger.MergeList <int, Server, ServerViewModel>(state.Servers, Servers, serverViewModelFactory); Username = e.State.Username; Password = e.State.Password; IsUpdating = e.State.IsUpdating; Port = e.State.Port; OperationInProgress = e.State.OperationInProgress; ShowPassword = state.ShowPassword; } finally { isUpdatingState = false; } }
public override void StateChanged() { var state = dispatcher.State.DictionaryPage; ReduxMerger.MergeDictionary(state.Dictionary, Data, text => new DictionaryItemViewModel <string>(text)); }