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;
        }
Example #3
0
 protected virtual void RaisePageReplacementEvent(SequencedControl control, RelativePagePosition pagetoReplace)
 {
     PageReplacementRequested?.Invoke(this, new SequencedPageReplcementRequestArgs(control, pagetoReplace));
 }