我正在開發一個小型的WPF應用程序,它有多個選項卡。我在底部有一個狀態欄;要求顯示光標的行號和列。所以當用戶更改光標位置時,必須自動更新繡線數量和列數。這裏是我添加RichTextBox的代碼;計算linenumber和column的代碼位於KeyDown事件處理程序中,但該事件永遠不會被調用。我應該處理哪個事件來獲取光標繡線和列?WPF中的RichTextBox中的光標位置
private void AddTabitem(string filePath, mode fileMode)
{
if (fileMode == mode.openFile)
{
if (File.Exists(filePath))
{
RichTextBox mcRTB = new RichTextBox();
mcRTB.KeyDown += new KeyEventHandler(LineNumber);
//rest of the code goes here
}
}
}
mcRTB.KeyDown += new KeyEventHandler(LineNumber);
private void LineNumber(object sender, KeyEventArgs e)
{
TextPointer tp1 = rtbList[EditorTabcontrol.SelectedIndex].Selection.Start.GetLineStartPosition(0);
TextPointer tp2 = rtbList[EditorTabcontrol.SelectedIndex].Selection.Start;
int column = tp1.GetOffsetToPosition(tp2);
int someBigNumber = int.MaxValue;
int lineMoved, currentLineNumber;
rtbList[EditorTabcontrol.SelectedIndex].Selection.Start.GetLineStartPosition(-someBigNumber, out lineMoved);
currentLineNumber = -lineMoved;
string LineColumnLabel;
//LineColumnLabel.Content = "Line: " + currentLineNumber.ToString() + " Column: " + column.ToString();
LineColumnLabel = "Line: " + currentLineNumber.ToString() + " Column: " + column.ToString();
}
我想這個綁定到一個文本框,並當用戶移動光標/按下/向上箭頭鍵時,布料數量應該改變。那麼我什麼時候應該包含這個代碼,我的意思是應該處理哪個事件? – savi
嗨Savi我修改了代碼以適合你。如果您對代碼感到滿意,請接受爲答案 – Sam1970