Esempio n. 1
0
        private void PanePlacementValueChanged(SplitViewPanePlacement oldSplitViewPanePlacement, SplitViewPanePlacement newSplitViewPanePlacement)
        {
            RoutedPropertyChangedEventArgs <SplitViewPanePlacement> args = new RoutedPropertyChangedEventArgs <SplitViewPanePlacement>(oldSplitViewPanePlacement, newSplitViewPanePlacement);

            args.RoutedEvent = AySplitView.PanePlacementChangedEvent;
            RaiseEvent(args);
        }
            public object Convert(object value, Type targetType, object parameter, string language)
            {
                HamburgerType          ht  = (HamburgerType)value;
                SplitViewPanePlacement spp = SplitViewPanePlacement.Left;

                switch (ht)
                {
                case HamburgerType.LeftSide:
                    break;

                case HamburgerType.RightSide:
                {
                    spp = SplitViewPanePlacement.Right;
                    break;
                }

                case HamburgerType.LeftSideCompact:
                    break;

                case HamburgerType.RightSideCompact:
                {
                    spp = SplitViewPanePlacement.Right;
                    break;
                }

                case HamburgerType.LeftSideInLine:
                    break;

                case HamburgerType.RightSideInLine:
                {
                    spp = SplitViewPanePlacement.Right;
                    break;
                }

                case HamburgerType.LeftSideCompactInLine:
                    break;

                case HamburgerType.RightSideCompactInLine:
                {
                    spp = SplitViewPanePlacement.Right;
                    break;
                }

                default:
                    break;
                }
                return(spp);
            }
Esempio n. 3
0
        private static void OnPanePlacementPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            AySplitView sv = d as AySplitView;

            if (sv != null)
            {
                if (sv.LeftArea.IsNull())
                {
                    return;
                }
                DisplayModeOrPlacementChanged(sv);
                #region 触发客户端定义的事件
                SplitViewPanePlacement newValue = (SplitViewPanePlacement)e.NewValue;
                SplitViewPanePlacement oldValue = (SplitViewPanePlacement)e.OldValue;
                sv.PanePlacementValueChanged(oldValue, newValue);
                #endregion
            }
        }
        public Pane(SplitViewPanePlacement placement)
        {
            StretchAffectsMeasure = true;
            VerticalAlignment     = VerticalAlignment.Stretch;

            switch (placement)
            {
            case SplitViewPanePlacement.Left:
                HorizontalAlignment = HorizontalAlignment.Left;
                LayoutParameters    = new DrawerLayout.LayoutParams(100, LayoutParams.MatchParent)
                {
                    Gravity = (int)GravityFlags.Start
                };
                break;

            case SplitViewPanePlacement.Right:
                HorizontalAlignment = HorizontalAlignment.Right;
                LayoutParameters    = new DrawerLayout.LayoutParams(100, LayoutParams.MatchParent)
                {
                    Gravity = (int)GravityFlags.End
                };
                break;
            }
        }