コード例 #1
0
        public void PositionCaret(OneRowCol CaretRowCol)
        {
            // position the caret cursor.
            VisualItemCursor ic = null;

            if (CaretRowCol != null)
            {
                var rowCol = CaretRowCol.ToZeroRowCol();
                this.CaretCursor = VisualItems.FindVisualItemCanvas(rowCol);
            }
            else
            {
                // find the first field on the screen.
                ic = VisualItems.InputItemList().FirstOrDefault();

                this.CaretCursor = new CanvasPositionCursor(ic);
            }

            // by default. place the caret at first input field on screen.
            if (this.CaretCursor.RowCol == null)
            {
                var rowCol = new ZeroRowCol(0, 0);
                this.CaretCursor = VisualItems.FindVisualItemCanvas(rowCol);
            }

            // position the caret cursor at the visual item.
            this.CanvasCaret.StartBlink(this.CaretCursor, true);
        }
コード例 #2
0
        private void Canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            var pos    = e.GetPosition((IInputElement)this.Canvas);
            var rowCol = pos.CanvasPosToRowCol(this.CanvasDefn.CharBoxDim, this.ContentStart);

            //      rowCol = this.AdjustShowRowCol.LocalPosToParentPos(rowCol);
            if (this.DoHandleUserInput == true)
            {
                this.CaretCursor = VisualItems.FindVisualItemCanvas(rowCol);
                this.CanvasCaret.StartBlink(this.CaretCursor);
                this.Canvas.Focus();
            }
        }