コード例 #1
0
ファイル: SplitView.cs プロジェクト: modulexcite/UniversalWPF
        private void ChangeVisualState(bool useTransitions)
        {
            if (!IsPaneOpen)
            {
                if (DisplayMode == SplitViewDisplayMode.CompactInline)
                {
                    GoToState(useTransitions, "ClosedCompact" + PanePlacement.ToString());
                }
                else
                {
                    GoToState(useTransitions, "Closed");
                }
            }
            else
            {
                switch (DisplayMode)
                {
                case SplitViewDisplayMode.Overlay:
                    GoToState(useTransitions, "OpenOverlay" + PanePlacement.ToString()); break;

                case SplitViewDisplayMode.Inline:
                    GoToState(useTransitions, "OpenInline" + PanePlacement.ToString()); break;

                case SplitViewDisplayMode.CompactOverlay:
                    GoToState(useTransitions, "OpenCompactOverlay" + PanePlacement.ToString()); break;
                }
            }
        }
コード例 #2
0
ファイル: SplitView.cs プロジェクト: mulayrushi/GContacts
        protected virtual void OnStateChanged(bool animated = true)
        {
            if (PaneClipRectangle != null)
            {
                PaneClipRectangle.Rect = new Rect(0, 0, OpenPaneLength, ActualHeight);
            }

            var state = string.Empty;

            if (IsPaneOpen)
            {
                state += "Open";
                switch (DisplayMode)
                {
                case SplitViewDisplayMode.CompactInline:
                    state += "Inline";
                    break;

                default:
                    state += DisplayMode.ToString();
                    break;
                }

                state += PanePlacement.ToString();
            }
            else
            {
                state += "Closed";
                if (DisplayMode == SplitViewDisplayMode.CompactInline ||
                    DisplayMode == SplitViewDisplayMode.CompactOverlay)
                {
                    state += "Compact";
                    state += PanePlacement.ToString();
                }
            }

            VisualStateManager.GoToState(this, state, animated);
        }
コード例 #3
0
ファイル: SplitView.xaml.cs プロジェクト: mesta1/WPFSplitView
        protected virtual string GetVisualState()
        {
            string state = string.Empty;

            if (IsPaneOpen)
            {
                state  = "Open";
                state += IsInline ? "Inline" : DisplayMode.ToString();
            }
            else
            {
                state = "Closed";
                if (IsCompact)
                {
                    state += "Compact";
                }
                else
                {
                    return(state);
                }
            }
            state += PanePlacement.ToString();
            return(state);
        }