2016-06-26 17 views
0

PCLプロジェクトを介してC#とXamarin.Formsライブラリを使用して簡単なアプリケーションを作成しています。アプリケーションはエディタビューを使用して、入力 '〜'(チルダ)文字を検出します。 '〜'文字は '|'文字に置き換えられます。エディタビューのTextChangedイベントを使用してカーソルがエディタビューの間違った場所にジャンプする

エディタビューのTextプロパティが更新された後(次のコードを参照してください)、エディタビューのカーソルは最後に入力された文字列の直後にとどまるのではなく、エディタの表面上に文字で表示されます。入力を続けるには、最後に入力した文字の位置の直後にカーソルを移動する必要があります。いつでも、チルダ「〜」が検出され、後方更新ロジックが実行され、エディタビューのカーソルがエディタの最初の位置にジャンプします。エディターの最後に入力された文字の位置を超えて移動することは、ユーザーにとって必須です。このバグは私にとって迷惑です。

どのようにしてカーソルのバグを解決できますか?エディタのサーフェス上に最後に入力された文字の直後に置いておきたいので、チルダ「〜」が検出されたときはいつでも移動する必要はありません。

コードビハインドロジック:これは、最新バージョン(2.3.x以降)に固定されている

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 
    } 
} 

答えて

関連する問題