コード例 #1
0
        protected override void OnStrokeCollected(InkCanvasStrokeCollectedEventArgs e)
        {
            switch (_inkMode)
            {
            case InkMode.None:
            case InkMode.Ink:
            case InkMode.GestureOnly:
            case InkMode.InkAndGesture:
            case InkMode.Select:
            case InkMode.EraseByPoint:
            case InkMode.EraseByStroke:
                base.OnStrokeCollected(e);
                break;

            case InkMode.Rectangle:
                // Remove the original stroke and add a custom stroke.
                this.Strokes.Remove(e.Stroke);
                Stroke stroke = RectangleStroke.GetRectangleStroke(e.Stroke.StylusPoints);
                this.Strokes.Add(stroke);

                // Pass the custom stroke to base class' OnStrokeCollected method.
                InkCanvasStrokeCollectedEventArgs args =
                    new InkCanvasStrokeCollectedEventArgs(stroke);
                base.OnStrokeCollected(args);
                break;

            default:
                break;
            }
        }