public SequencedPageReplcementRequestArgs(SequencedControl newControl, RelativePagePosition pageToReplace) { if (newControl == null) { throw new ArgumentNullException(nameof(newControl)); } NewControl = newControl; PagePosition = pageToReplace; }
public virtual void ReplacePage(SequencedControl newPage, RelativePagePosition pageToReplace) { var indexModifier = 0; // ReSharper disable once SwitchStatementMissingSomeCases switch (pageToReplace) { case RelativePagePosition.PreviousPage: indexModifier--; break; case RelativePagePosition.NextPage: indexModifier++; break; } var pageIndexToReplace = CurrentPageIndex + indexModifier; UnsubscribeFromPageEvents(_pages[pageIndexToReplace]); SubscribeToPageEvents(newPage); _pages[pageIndexToReplace] = newPage; }
protected virtual void RaisePageReplacementEvent(SequencedControl control, RelativePagePosition pagetoReplace) { PageReplacementRequested?.Invoke(this, new SequencedPageReplcementRequestArgs(control, pagetoReplace)); }