1

アプリケーション用のカスタム編集可能テキスト ブロックを開発しています。したがって、ユーザーがコントロールをクリックすると、ユーザーがテキストを編集できるように TextBox がスワップインされます。今まではすべて問題ありませんでしたが、私の要件は、TextBox のキャレット インデックスを、ユーザーが TextBlock をクリックした場所に正確に移動することです。

そのため、ユーザーは UI の視点からスワップについて感じることはありません。

どのようなアプローチがより適切でしょうか? 上記の要因を考慮すると?

私はこのことについてのアイデアに迷っています。

4

1 に答える 1

1

独自のマウス処理サポートを備えた UserControl/Customcontrol と、コンテンツを TextBlock から TextBox にいつ切り替えるかを通知する方法があると仮定します。

mousedown イベントでは、クリックされた位置を保存し、テキストボックスにスワップし、Loaded イベントでは、 GetCharacterIndexFromPointを使用してクリックの位置を特定し、CaretIndexをその位置に設定できます。マージンを使用する場合は、マージンを調整する必要がある場合があります。

于 2013-10-01T14:43:59.413 に答える