2011-10-13 1261 views
10

我想從WPF文本框中獲取當前光標位置。如果TextBox包含文本abhishek和光標編程清除TextBox和分配一些其他或相同的文字後閃爍後abhi然後我想該索引,以便以後編程我想使光標閃爍剛過4個字符。如何獲取並設置WPF文本框的當前光標位置

我已經試過這樣的取出光標位置,

_tempFuncName = txtFunctionName.Text; 
_cursorPosition = txtFunctionName.SelectionStart; 
_selectionLength = txtFunctionName.SelectionLength; 

並重新設置從這樣的其它事件的一些後期,

txtFunctionName.Text = _tempFuncName; 
txtFunctionName.SelectionStart = _cursorPosition; 
txtFunctionName.SelectionLength = _selectionLength; 

這裏強調的變量是頁面級變量。

此代碼無法使用。還有其他方法嗎?

回答

4

你只需要添加一行來設置焦點的文本框,否則一切工作正常。

txtFunctionName.Text = _tempFuncName; 
txtFunctionName.SelectionStart = _cursorPosition; 
txtFunctionName.SelectionLength = _selectionLength ; 
txtFunctionName.Focus(); 
9

您可以用文本框

//You can set this property on some event 
NumberOfDigits.CaretIndex = textbox.Text.Length; 
+0

此答案與OP標題中的答案相匹配,這正是我正在尋找的答案。 – Mishax

0
txtFunctionName.Text = _tempFuncName; 
txtFunctionName.SelectionStart = _cursorPosition; 
txtFunctionName.SelectionLength = _selectionLength ; 

這些陳述足以做REQ事情caretIndex屬性發揮。我在選擇事件來編寫代碼時犯了錯誤。感謝大家。