コード例 #1
0
 private void RemoveSliceFromCanvas(Slice slice)
 {
     if (_sliceCanvas != null && _sliceCanvas.Children.Contains(slice))
     {
         _sliceCanvas.Children.Remove(slice);
     }
 }
コード例 #2
0
        private void DisplayBalloon(Slice slice, Point position)
        {
            _balloon.Text = slice.ToolTipText;
            _balloon.Visibility = Visibility.Visible;
            _balloon.Measure(new Size(_sliceCanvasDecorator.ActualWidth, _sliceCanvasDecorator.ActualHeight));

            double balloonLeft = position.X - _balloon.DesiredSize.Width / 2;
            if (balloonLeft < 0)
            {
                balloonLeft = position.X;
            }
            else if (balloonLeft + _balloon.DesiredSize.Width > _sliceCanvasDecorator.ActualWidth)
            {
                balloonLeft = position.X - _balloon.DesiredSize.Width;
            }
            double balloonTop = position.Y - _balloon.DesiredSize.Height - 5;
            if (balloonTop < 0)
            {
                balloonTop = position.Y + 17;
            }
            _balloon.SetValue(Canvas.LeftProperty, balloonLeft);
            _balloon.SetValue(Canvas.TopProperty, balloonTop);
        }
コード例 #3
0
        private void AddSlices()
        {
            for (int i = _slices.Count; i < _values.Count; i++)
            {
                Slice slice = new Slice();
                slice.RenderTransform = new RotateTransform();
                slice.RenderTransformOrigin = new Point(0, 0);
                slice.Tag = _userData[i];

                _slices.Add(slice);
            #if WINDOWS_PHONE
                slice.ManipulationStarted += new EventHandler<ManipulationStartedEventArgs>(OnSliceManipulationStarted);
            #else
                slice.MouseEnter += new MouseEventHandler(OnSliceMouseEnter);
                slice.MouseLeave += new MouseEventHandler(OnSliceMouseLeave);
                slice.MouseMove += new MouseEventHandler(OnSliceMouseMove);
            #endif
                AddSliceToCanvas(slice);
            }
        }
コード例 #4
0
 private void AddSliceToCanvas(Slice slice)
 {
     if (_sliceCanvas != null && !_sliceCanvas.Children.Contains(slice))
     {
         _sliceCanvas.Children.Add(slice);
     }
 }
コード例 #5
0
 private void AddSlices()
 {
     for (var i = _slices.Count ; i < _values.Count ; i++)
     {
         var slice = new Slice
         {
             RenderTransform = new RotateTransform(),
             RenderTransformOrigin = new Point(0, 0)
         };
         _slices.Add(slice);
     #if WINDOWS_PHONE
         slice.ManipulationStarted += new EventHandler<ManipulationStartedEventArgs>(OnSliceManipulationStarted);
     #else
         slice.MouseEnter += OnSliceMouseEnter;
         slice.MouseLeave += OnSliceMouseLeave;
         slice.MouseMove += OnSliceMouseMove;
     #endif
         AddSliceToCanvas(slice);
     }
 }