Logica di interazione per PositionIndicator.xaml
Inheritance: System.Windows.Controls.UserControl
コード例 #1
0
        /// <summary>
        /// Mouse Enter event Handler that handles the visibility of the indicator
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Slider_MouseEnter(object sender, MouseEventArgs e)
        {
            Slider s       = sender as Slider;
            Point  p       = e.GetPosition(s);
            object cItem   = this.FindName("SliderCanvas");
            Canvas canvas  = cItem as Canvas;
            Point  globalP = e.GetPosition(canvas);
            double myTime  = (p.X / s.ActualWidth) * ((AudioPlayerModel)this.DataContext).Length;
            object item    = this.FindName("position_indicator");

            if ((item != null) && (item is PositionIndicator))
            {
                PositionIndicator indicator = item as PositionIndicator;
                indicator.Visibility = Visibility.Visible;
                indicator.SetValue(Canvas.LeftProperty, p.X - 16);
                object item_label = indicator.FindName("TimePositionLabel");
                if ((item_label != null) && (item_label is TextBlock))
                {
                    TextBlock       label     = item_label as TextBlock;
                    LengthConverter converter = new LengthConverter();
                    label.Text = (string)converter.Convert(myTime, typeof(string), null, null);
                    //Console.WriteLine(myTime);
                }
                //indicator.Margin = new Thickness(globalP.X, 0, 0, 0);
            }
        }
コード例 #2
0
        /// <summary>
        /// Mouse Leave event Handler that handles the visibility of the indicator
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TrackSlider_MouseLeave(object sender, MouseEventArgs e)
        {
            object item = this.FindName("position_indicator");

            if ((item != null) && (item is PositionIndicator))
            {
                PositionIndicator indicator = item as PositionIndicator;
                indicator.Visibility = Visibility.Hidden;
            }
        }