2016-06-26 75 views
0

我正在通過PCL項目編寫一個簡單的應用程序,使用C#和Xamarin.Forms庫。應用程序使用編輯器視圖,檢測輸入的'〜'(代字符)字符。 '〜'字符被替換爲'|'字符使用編輯器視圖的TextChanged事件。光標跳轉到編輯器視圖上的錯誤位置

問題是:編輯器視圖的Text屬性更新後(請參閱下面的代碼),編輯器視圖上的光標跳轉到編輯器的開始位置,而不是停留在最後一次輸入的位置之後,在編輯的角度來看。要繼續輸入,我必須在最後輸入的字符位置後面移動光標。任何時候,檢測到代字符'〜',執行後更新邏輯,並且編輯器視圖AGAIN上的光標跳到編輯器的開始位置。將它移出編輯器最後輸入的字符位置對用戶來說是必須的。這個bug對我來說很煩人。

我該如何解決光標錯誤?我希望它在編輯器表面最後輸入的字符後面保持正確,所以只要檢測到代字符「〜」,我就不需要移動它。

代碼隱藏邏輯:

public void OnTextChanged(object sender, EventArgs e) 
{ 
    var editor = (Editor)sender; 
    if(editor.Text.Contains("~")) 
    { 
    editor.Text = editor.Text.Replace("~", "|"); // updated the Text of Editor 
    } 
} 

回答

相關問題