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
}
}
ありがとうございます。最新バージョンは問題を解決する/ –
はまだ2.3.4.247の問題のように思われる 私は唯一の私ですか? – root