Esempio n. 1
0
        /// <summary>
        ///     Show or hide the outer wheel. This change is animated.
        /// </summary>
        /// <remarks>
        ///     If you want to change the animation, you can do so using the storyboards
        ///     OpenStoryboard and CloseStoryboard as defined in RadialMenu.xaml.
        /// </remarks>
        public async void TogglePie()
        {
            var floatingParent = FindParent <Floating>(this);
            var distance       = Diameter / 2 - CenterButton.ActualHeight / 2;

            if (Pie.Visibility == Visibility.Visible)
            {
                BackgroundEllipse.Visibility = Visibility.Collapsed;

                await CloseStoryboard.PlayAsync();

                Pie.Visibility = Visibility.Collapsed;
                Width          = CenterButton.ActualWidth;
                Height         = CenterButton.ActualHeight;
                // Check if we're floating
                floatingParent?.ManipulateControlPosition(distance, distance, Width, Height);
                Canvas.SetTop(CenterButton, 0);
                Canvas.SetLeft(CenterButton, 0);
            }
            else
            {
                Width  = Diameter;
                Height = Diameter;
                // Check if we're floating
                floatingParent?.ManipulateControlPosition(-distance, -distance, Width, Height);
                Canvas.SetTop(CenterButton, Diameter / 2 - CenterButton.ActualHeight / 2);
                Canvas.SetLeft(CenterButton, Diameter / 2 - CenterButton.ActualWidth / 2);
                Pie.Visibility = Visibility.Visible;

                await OpenStoryboard.PlayAsync();

                BackgroundEllipse.Visibility = Visibility.Visible;
            }
        }
        private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (Property.NameEquals(e.PropertyName, () => ViewModel.IsOpen))
            {
                var frame = Bootstrapper.PhoneFrame;
                if (frame != null)
                {
                    var currentPage = frame.Content as PhoneApplicationPage;
                    if (currentPage != null && currentPage.ApplicationBar != null)
                    {
                        currentPage.ApplicationBar.IsVisible = !ViewModel.IsOpen;
                    }
                }

                if (ViewModel.IsOpen)
                {
                    //OpenContactItem.Visibility = ViewModel.OpenContactVisibility;
                    OpenStoryboard.Begin();
                }
                else
                {
                    CloseStoryboard.Begin();
                }
            }
        }
        public DialogSearchMessagesView()
        {
            InitializeComponent();

            var isLightTheme = (Visibility)Application.Current.Resources["PhoneLightThemeVisibility"] == Visibility.Visible;

            //BackgroundBorder.Background = isLightTheme
            //    ? (Brush)Resources["HintsBackgroundBrushLight"]
            //    : (Brush)Resources["HintsBackgroundBrushDark"];
            Border.Background = isLightTheme
                ? (Brush)Resources["InputBorderBrushLight"]
                : (Brush)Resources["InputBorderBrushDark"];

            SearchLabel.Visibility = Visibility.Collapsed;

            OpenStoryboard.Completed += (sender, args) =>
            {
                Text.Focus();
            };

            CloseStoryboard.Completed += (sender, args) =>
            {
                ViewModel.From = null;
                Text.Text      = string.Empty;
                if (_searchUserControl == null)
                {
                    _searchUserControl = Text.FindChildOfType <SearchUserControl>();
                }

                if (_searchUserControl.Visibility == Visibility.Visible)
                {
                    _searchUserControl.Visibility = Visibility.Collapsed;
                    _searchUserControl.Text       = string.Empty;
                }

                ViewModel.From = null;
                ViewModel.IsSearchDownEnabled = false;
                ViewModel.IsSearchUpEnabled   = false;
            };

            Loaded += (sender, args) =>
            {
                ViewModel.PropertyChanged += OnViewModelPropertyChanged;

                if (!_once)
                {
                    _once = true;
                    if (ViewModel.IsOpen)
                    {
                        OpenStoryboard.Begin();
                    }
                }
            };

            Unloaded += (sender, args) =>
            {
                ViewModel.PropertyChanged -= OnViewModelPropertyChanged;
            };
        }
 private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (Property.NameEquals(e.PropertyName, () => ViewModel.IsOpen))
     {
         if (ViewModel.IsOpen)
         {
             OpenStoryboard.Begin();
         }
         else
         {
             CloseStoryboard.Begin();
         }
     }
 }
        private void OpenInternal()
        {
            _preview.IsHitTestVisible = true;

            var page = Application.Current.RootVisual.FindChildOfType <PhoneApplicationPage>();

            if (page != null)
            {
                _applicationBar     = page.ApplicationBar;
                page.ApplicationBar = null;
            }

            OpenStoryboard.Begin();
        }
Esempio n. 6
0
        public SecretChatDebugView()
        {
            InitializeComponent();

            SearchLabel.Visibility = Visibility.Collapsed;

            Loaded += (sender, args) =>
            {
                if (!_once)
                {
                    _once = true;
                    Telegram.Api.Helpers.Execute.BeginOnUIThread(() => OpenStoryboard.Begin());
                }
            };
        }
 private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (Property.NameEquals(e.PropertyName, () => ViewModel.IsOpen))
     {
         if (ViewModel.IsOpen)
         {
             OpenStoryboard.Begin();
         }
         else
         {
             ViewModel.Hints.Clear();
             Telegram.Api.Helpers.Execute.BeginOnUIThread(() =>
             {
                 CloseStoryboard.Begin();
             });
         }
     }
 }
        public ClearCacheSettingsView()
        {
            InitializeComponent();

            Loaded += (o, e) =>
            {
                ViewModel.PropertyChanged += OnViewModelPropertyChanged;
                if (!_once)
                {
                    _once = true;
                    if (ViewModel.IsOpen)
                    {
                        OpenStoryboard.Begin();
                    }
                }
            };
            Unloaded += (o, e) => ViewModel.PropertyChanged -= OnViewModelPropertyChanged;
        }
Esempio n. 9
0
 private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (Property.NameEquals(e.PropertyName, () => ViewModel.IsOpen))
     {
         if (ViewModel.IsOpen)
         {
             OpenContactItem.Visibility = ViewModel.OpenContactVisibility;
             OpenStoryboard.Begin();
         }
         else
         {
             if (ViewModel.InlineBots.Count > 0 && ContentPanelTransform.Y == 140.0)
             {
                 InlineBotsControl.Opacity = 0.0;
             }
             CloseStoryboard.Begin();
         }
     }
 }
        private void StartOpenStoryboard(object sender, RoutedEventArgs e)
        {
            Loaded -= StartOpenStoryboard;

            Deployment.Current.Dispatcher.BeginInvoke(() => OpenStoryboard.Begin());
        }