示例#1
0
        private async Task SetBackground()
        {
            if (AnyListenSettings.Instance.Config.ApplicationDesign.ApplicationBackground == null || !AnyListenSettings.Instance.Config.ApplicationDesign.ApplicationBackground.IsAvailable)
            {
                BackgroundImage.Source = null;
                BackgroundMediaElement.Visibility = Visibility.Collapsed;
                return;
            }

            if (AnyListenSettings.Instance.Config.ApplicationDesign.ApplicationBackground.IsAnimated)
            {
                BackgroundImage.Source = null;
                BackgroundMediaElement.Visibility = Visibility.Visible;
                BackgroundMediaElement.Source =
                    AnyListenSettings.Instance.Config.ApplicationDesign.ApplicationBackground.GetBackground();
                BackgroundMediaElement.Play();
            }
            else
            {
                BackgroundMediaElement.Source = null;
                BackgroundMediaElement.Visibility = Visibility.Collapsed;
                BackgroundImage.Visibility = Visibility.Visible;
                BackgroundImage.Source = await Task.Run(() =>
                {
                    var img =
                        new BitmapImage(
                            AnyListenSettings.Instance.Config.ApplicationDesign.ApplicationBackground.GetBackground());
                    img.Freeze();
                    return img;
                });
            }
        }
 private void BackgroundMediaElement_MediaEnded(object sender, RoutedEventArgs e)
 {
     if (_initialized)
     {
         BackgroundMediaElement.Position = TimeSpan.Zero;
         BackgroundMediaElement.Play();
     }
 }
        protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
        {
            base.OnNavigatingFrom(e);

            if (BackgroundMediaElement.Visibility == Visibility.Visible)
            {
                BackgroundMediaElement.Stop();
            }

            Uninitialize();
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            Initialize();

            BackgroundMediaElement.Source = new Uri("/Assets/Video/oceantrip-small.mp4", UriKind.Relative);

            if (BackgroundMediaElement.Visibility == Visibility.Visible)
            {
                BackgroundMediaElement.Position = TimeSpan.Zero;
                BackgroundMediaElement.Play();
            }
        }
 private void FilteredImage_Tap(object sender, System.Windows.Input.GestureEventArgs e)
 {
     if (BackgroundMediaElement.Visibility == Visibility.Collapsed)
     {
         BackgroundMediaElement.Position = TimeSpan.Zero;
         BackgroundMediaElement.Play();
         BackgroundMediaElement.Visibility = Visibility.Visible;
     }
     else
     {
         BackgroundMediaElement.Stop();
         BackgroundMediaElement.Visibility = Visibility.Collapsed;
     }
 }
示例#6
0
        protected void ApplyHostWindow(IWindowSkin skin, bool saveinformation = true)
        {
            if (skin == HostedWindow) return;
            if (HostedWindow != null)
            {
                HostedWindow.DragMoveStart -= skin_DragMoveStart;
                HostedWindow.DragMoveStop -= skin_DragMoveStop;
                HostedWindow.ToggleWindowState -= skin_ToggleWindowState;
                HostedWindow.TitleBarMouseMove -= skin_TitleBarMouseMove;
                HostedWindow.DisableWindow();

                var element = (FrameworkElement) HostedWindow;
                ContentGrid.Children.Remove(element);
            }

            skin.CloseRequest += (s, e) => Close();
            skin.DragMoveStart += skin_DragMoveStart;
            skin.DragMoveStop += skin_DragMoveStop;
            skin.ToggleWindowState += skin_ToggleWindowState;
            skin.TitleBarMouseMove += skin_TitleBarMouseMove;

            var appstate = AnyListenSettings.Instance.CurrentState.ApplicationState;
            if (skin != AdvancedWindowSkin && saveinformation)
            {
                appstate.Height = Height;
                appstate.Width = Width;
            }

            HideEqualizer();

            MaxHeight = skin.Configuration.MaxHeight;
            MinHeight = skin.Configuration.MinHeight;
            MaxWidth = skin.Configuration.MaxWidth;
            MinWidth = skin.Configuration.MinWidth;
            ShowTitleBar = skin.Configuration.ShowTitleBar;
            ShowSystemMenuOnRightClick = skin.Configuration.ShowSystemMenuOnRightClick;

            if (!_isDragging)
            {
                if (skin.Configuration.IsResizable)
                {
                    WindowHelper.ShowMinimizeAndMaximizeButtons(this);
                    ResizeMode = ResizeMode.CanResize;
                }
                else
                {
                    WindowHelper.HideMinimizeAndMaximizeButtons(this);
                    ResizeMode = ResizeMode.NoResize;
                }
            }

            if (skin == AdvancedWindowSkin && saveinformation)
            {
                Width = appstate.Width;
                Height = appstate.Height;
            }

            if (skin.Configuration.SupportsCustomBackground)
            {
                SetBackground().Forget();
            }
            else
            {
                BackgroundImage.Visibility = Visibility.Collapsed;
                BackgroundImage.Source = null;
                BackgroundMediaElement.Stop();
                BackgroundMediaElement.Source = null;
                BackgroundMediaElement.Visibility = Visibility.Collapsed;
            }
            BackgroundImage.Visibility = skin.Configuration.SupportsCustomBackground ? Visibility.Visible : Visibility.Collapsed;

            if (skin == SmartWindowSkin)
            {
                Width = 300;
                Height = MagicArrow.DockManager.WindowHeight;
                if (MainViewModel.Instance.MusicManager != null)
                    MainViewModel.Instance.MusicManager.DownloadManager.IsOpen = false;
            }

            ShowMinButton = skin.Configuration.ShowWindowControls;
            ShowMaxRestoreButton = skin.Configuration.ShowWindowControls;
            ShowCloseButton = skin.Configuration.ShowWindowControls;

            var newUserControl = (FrameworkElement) skin;
            ContentGrid.Children.Add(newUserControl);
            var animation = new DoubleAnimation(0, 1, TimeSpan.FromMilliseconds(200));
            newUserControl.BeginAnimation(OpacityProperty, animation);
            HostedWindow = skin;
            HostedWindow.EnableWindow();
        }