長年のリスナー、初めての発信者。WinRT C#/XAML の TextBox で奇妙な問題が発生しています。誰かが私を助けてくれることを願っています。
基本的に、同じ Text を表示したり、同じ Selected Text を表示したりするなど、2番目の TextBox を最初のコピーにする必要があるカスタムコントロールの作成に取り組んでいます。明らかに、Text 要件については、最初の TextBox の TextChanged イベントに応答し、2 番目の TextBox の Text を最初の TextBox の Text に設定するだけで、うまく機能します。
選択したテキストの要件については、同様のソリューションから始めました。このためのコードは次のとおりです。
void TextBox1_SelectionChanged(object sender, RoutedEventArgs e)
{
this.TextBox2.Select(this.TextBox1.SelectionStart, this.TextBox1.SelectionLength);
}
マウスで最初に使用したとき、これはかなりうまくいくように見えました:
しかし、 Touchでテキストを選択するときに問題が発生します。Touch の場合と同様に、TextBox 内をダブルタップして最初の「アンカー」を作成し、ドラッグして選択を開始します。しかし、選択が停止する前に、通常は1文字しか選択できません。TextBox は正確にフォーカスを失うわけではありませんが、動作はそれに似ています。選択アンカーが消え、もう一度ダブルタップして新しい選択を開始しない限り、何も選択し続けることができません。TextBox2 でテキストを選択するコードを削除すると、TextBox1 でタッチ選択が完全に動作します。
私はしばらくこれを修正しようとしてきましたが、WinRT TextBoxes で目的の動作を得ることができるかどうかわかりません。誰にもアイデアはありますか?または、この動作で 2 つの TextBoxes を使用してソリューションを実装する別の方法でしょうか?
どうもありがとう。