Exemplo n.º 1
0
        public static async Task TryCloseCurrent()
        {
            MDrawer drawer = null;

            lock (_lockObj)
            {
                drawer = _current;
                if (drawer == null || drawer.Parent == null)
                {
                    return;
                }
                _current = null;
            }
            await drawer.Hide();
        }
Exemplo n.º 2
0
        public async void OnUpdate()
        {
            if (_view == null)
            {
                return;
            }
            var _drawer = _view.GetFirstAncestorOfType <MDrawer>();

            if (_drawer != null)
            {
                return;
            }
            MDrawer.TryCloseCurrent();
            if (_callback != null)
            {
                _callback();
            }
        }
Exemplo n.º 3
0
        public static async Task Show(IDrawerContent childView, double pRange = 315.0, bool isTapDismiss = false, Mode mode = Mode.Right)
        {
            TryCloseCurrent();

            MDrawer _view = new MDrawer(mode)
            {
                Content = childView, PRange = pRange, _isTapDismiss = isTapDismiss
            };

            childView.Drawer = _view;
            _current         = _view;
            await AwaitableContainer.Show(_view, false);

            if (childView is FrameworkElement)
            {
                (childView as FrameworkElement).DataContext = null;
            }
            if (_current == _view)
            {
                _current = null;
            }
            _view.Content    = null;
            childView.Drawer = null;
        }
Exemplo n.º 4
0
 private async void DrawerTest1(object sender, RoutedEventArgs e)
 {
     await MDrawer.Show(new DrawerContent(), 100, true, MDrawer.Mode.Right);
 }
Exemplo n.º 5
0
 private async void DrawerTest(object sender, RoutedEventArgs e)
 {
     // App.NavigationManager.Navigate(typeof(TestNDrawer));
     await MDrawer.Show(new DrawerContent(), 100, true, MDrawer.Mode.Bottom);
 }