コード例 #1
0
        private bool FadingVolumeGauge()
        {
            if (isAwaitVolumeGaugeRunning)
            {
                _volumeGauge.Abort();
                isAwaitVolumeGaugeRunning = false;
            }

            if (VolumeMixer.Visibility == Visibility.Collapsed)
            {
                VolumeMixer.Visibility = Visibility.Visible;
                DoubleAnimation fadeIn = new DoubleAnimation(0, 1, TimeSpan.FromSeconds(0.1), FillBehavior.Stop);
                fadeIn.Completed += (object senderr, EventArgs ee) => { VolumeMixer.Opacity = 1; };
                VolumeMixer.BeginAnimation(OpacityProperty, fadeIn);
                CountDownFadeOutVolume();
                _volumeGauge.Start();
                isAwaitVolumeGaugeRunning = true;
                return(false);
            }

            return(true);
        }
コード例 #2
0
        private void CountDownFadeOutVolume()
        {
            try
            {
                _volumeGauge = new Thread(() =>
                {
                    Thread.Sleep(1500);

                    Dispatcher.Invoke(() =>
                    {
                        DoubleAnimation fadeOut = new DoubleAnimation(1, 0, TimeSpan.FromSeconds(0.1), FillBehavior.Stop);
                        fadeOut.Completed      += (object senderr, EventArgs ee) =>
                        {
                            VolumeMixer.Opacity    = 0;
                            VolumeMixer.Visibility = Visibility.Collapsed;
                        };
                        VolumeMixer.BeginAnimation(OpacityProperty, fadeOut);
                        isAwaitVolumeGaugeRunning = false;
                    });
                });
            }
            catch { }
        }