我正在通過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
}
}
非常感謝。最新版本解決問題/ –
似乎仍然是2.3.4.247中的一個問題 我是唯一一個嗎? – root