Ejemplo n.º 1
0
        /// <summary>
        /// DisplayModeStates
        /// -----------------
        /// Closed
        /// ClosedCompactLeft
        /// ClosedCompactRight
        /// OpenOverlayLeft
        /// OpenOverlayRight
        /// OpenInlineLeft
        /// OpenInlineRight
        /// OpenCompactOverlayLeft
        /// OpenCompactOverlayRight
        /// </summary>
        private void UpdateVisualStates(bool useTransitons)
        {
            string stateName = GetStateName();

            if (!IsPaneOpen)
            {
                PaneClosing?.Invoke(this, new SplitViewPaneClosingEventArgs());
            }
            else
            {
                PaneOpening?.Invoke(this, null);
            }

#if __IOS__
            PatchInvalidFinalState(stateName);
#endif
            VisualStateManager.GoToState(this, stateName, useTransitons);

            if (!IsPaneOpen)
            {
                PaneClosed?.Invoke(this, null);
            }
            else
            {
                PaneOpened?.Invoke(this, null);
            }
        }
Ejemplo n.º 2
0
        private void OnTogglePaneButton_Click(object sender, RoutedEventArgs e)
        {
            var closing = new NavigationViewPaneClosingEventArgs();

            if (IsPaneOpen)
            {
                PaneClosing?.Invoke(this, closing);

                if (closing.Cancel)
                {
                    this.Log().DebugIfEnabled(() => "Close pane canceled");
                    return;
                }
            }
            else
            {
                PaneOpening?.Invoke(this, null);
            }

            IsPaneOpen = !IsPaneOpen;

            if (IsPaneOpen)
            {
                PaneOpened?.Invoke(this, null);
            }
            else
            {
                PaneClosed?.Invoke(this, null);
            }
        }
Ejemplo n.º 3
0
        private void OnPaneClosing(SplitView sender, SplitViewPaneClosingEventArgs args)
        {
            PaneClosing?.Invoke(sender, args);

            if (_previousTopPadding != null)
            {
                TopPadding          = _previousTopPadding.Value;
                _previousTopPadding = null;
            }

            TogglePaneButton.RequestedTheme = ElementTheme.Default;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// DisplayModeStates
        /// -----------------
        /// Closed
        /// ClosedCompactLeft
        /// ClosedCompactRight
        /// OpenOverlayLeft
        /// OpenOverlayRight
        /// OpenInlineLeft
        /// OpenInlineRight
        /// OpenCompactOverlayLeft
        /// OpenCompactOverlayRight
        /// </summary>
        private void UpdateVisualStates(bool useTransitons)
        {
            string stateName = GetStateName();

            if (!IsPaneOpen)
            {
                PaneClosing?.Invoke(this, new SplitViewPaneClosingEventArgs());
            }

            VisualStateManager.GoToState(this, stateName, useTransitons);

            if (!IsPaneOpen)
            {
                PaneClosed?.Invoke(this, null);
            }
        }
Ejemplo n.º 5
0
        private void ClosePane()
        {
            SplitViewPaneClosingEventArgs args = new SplitViewPaneClosingEventArgs();

            PaneClosing?.Invoke(this, args);
            if (args.Cancel)
            {
                if (DisplayMode == SplitViewDisplayMode.Overlay || DisplayMode == SplitViewDisplayMode.CompactOverlay)
                {
                    IsPaneOpen = true;
                    return;
                }
            }
            ChangeVisualState(true);
            PaneClosed?.Invoke(this, EventArgs.Empty);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Panel closing event
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="args"></param>
 private void SplitView_PaneClosing(SplitView sender, SplitViewPaneClosingEventArgs args)
 {
     PaneClosing?.Invoke(sender, args);
 }
 /// <summary>
 /// Raises the <see cref="PaneClosing"/> event.
 /// </summary>
 protected virtual void OnPaneClosing()
 {
     PaneClosing?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 8
0
        protected virtual void OnIsPaneOpenChanged()
        {
            bool cancel = false;

            if (PaneClosing != null)
            {
                var args = new SplitViewPaneClosingEventArgs();
                foreach (Windows.Foundation.TypedEventHandler <SplitView, SplitViewPaneClosingEventArgs> tmp in PaneClosing.GetInvocationList())
                {
                    tmp(this, args);
                    if (args.Cancel)
                    {
                        cancel = true;
                        break;
                    }
                }
            }
            if (!cancel)
            {
                OnStateChanged();

                if (PaneClosed != null)
                {
                    PaneClosed(this, new object());
                }
            }
            else
            {
                IsPaneOpen = false;
            }
        }
Ejemplo n.º 9
0
 private void OnPaneClosing(object sender, EventArgs e)
 {
     PaneClosing?.Invoke(sender, e);
 }
Ejemplo n.º 10
0
 protected virtual void OnIsPaneOpenChanged(bool newValue)
 {
     if (newValue)
     {
         OnVisualStateChanged();
     }
     else
     {
         if (PaneClosing != null)
         {
             SplitViewPaneClosingEventArgs args = new SplitViewPaneClosingEventArgs();
             foreach (TypedEventHandler <SplitView, SplitViewPaneClosingEventArgs> handler in PaneClosing.GetInvocationList())
             {
                 handler(this, args);
                 if (args.Cancel)
                 {
                     IsPaneOpen = true;
                     return;
                 }
             }
         }
         OnVisualStateChanged();
         PaneClosed?.Invoke(this, null);
     }
 }