public override void Shift() { var segments = WindowList.TakeWhile(s => s.StateInWindow == State.Confirmed); OutputList.AddRange(segments); WindowList.RemoveRange(0, segments.Count()); }
public virtual void TransitionTo(ViewModelBase newWindow) { PreviousWindow = CurrentWindow; CurrentWindow = newWindow; CurrentWindowListIndex++; for (int i = CurrentWindowListIndex; i < WindowList.Count; i++) { WindowList.RemoveRange(i, WindowList.Count - i); } WindowList.Add(CurrentWindow); }