WPF を使用して仮想キーボードで passwordbox コントロールを使用するにはどうすればよいですか? テキスト ボックス コントロールを使用すると、キャレットを次のテキスト位置に移動するだけでかなり簡単です。キャレット位置を公開しない passwordbox ではそうではありません。
私は自分自身を派生させるべきですか?薄めのソースのようです。
WPF を使用して仮想キーボードで passwordbox コントロールを使用するにはどうすればよいですか? テキスト ボックス コントロールを使用すると、キャレットを次のテキスト位置に移動するだけでかなり簡単です。キャレット位置を公開しない passwordbox ではそうではありません。
私は自分自身を派生させるべきですか?薄めのソースのようです。
次のようなことを試して、PasswordBox で選択を設定できます。
private void SetSelection(PasswordBox passwordBox, int start, int length) {
passwordBox.GetType().GetMethod("Select", BindingFlags.Instance | BindingFlags.NonPublic)
.Invoke(passwordBox, new object[] { start, length });
}
その後、次のように呼び出してカーソル位置を設定します。
// set the cursor position to 2... or length of the password
SetSelection( passwordBox1, 2, 0);
// focus the control to update the selection
passwordBox1.Focus();
上記の回答はAndrew Jacksonによって提供されており、正常に機能します。