Exemplo n.º 1
0
        /// <summary>
        /// Pre-Select the object which user taps on.
        /// </summary>
        /// <param name="point"></param>
        /// <param name="tappedStroke"></param>
        /// <param name="tappedElement"></param>
        private void TapSelectObject(Point point, out Stroke tappedStroke, out UIElement tappedElement)
        {
            tappedStroke  = null;
            tappedElement = null;

            StrokeCollection hitTestStrokes = InkCanvas.Strokes.HitTest(point, 5.0d);

            if (hitTestStrokes.Count > 0)
            {
                tappedStroke = hitTestStrokes[hitTestStrokes.Count - 1];
            }
            else
            {
                GeneralTransform transformToInnerCanvas = InkCanvas.TransformToVisual(InkCanvas.InnerCanvas);
                Point            pointOnInnerCanvas     = transformToInnerCanvas.Transform(point);

                // Try to find out whether we have a pre-select object.
                tappedElement = InkCanvas.InnerCanvas.HitTestOnElements(pointOnInnerCanvas);
            }
        }