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); }
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(); } }