我在这里有一些概念问题。我知道如何选择TextBox
或PasswordBox
中的所有文字。通过GotKeyboardFocus
和PreviewMouseLeftButtonDown
活动,您知道。这很好。
XAML:
PreviewMouseLeftButtonDown="PasswordOnPreviewMouseDown"
GotKeyboardFocus="SelectAllPassword"
代码隐藏
private void SelectAllPassword(Object sender, RoutedEventArgs e)
{
var pb = (sender as PasswordBox);
if (pb != null)
pb.SelectAll();
}
private void PasswordOnPreviewMouseDown(Object sender, MouseButtonEventArgs e)
{
var pb = (sender as PasswordBox);
if (pb != null)
if (!pb.IsKeyboardFocusWithin)
{
e.Handled = true;
pb.Focus();
}
}
但问题是 - 为什么这个不起作用?
XAML:
PreviewMouseLeftButtonDown="PasswordOnPreviewMouseDown"
代码隐藏:
private void PasswordOnPreviewMouseDown(Object sender, MouseButtonEventArgs e)
{
_txtPassword.SelectAll();
e.Handled = true;
}
_txtPassword
- TextBox
或PasswordBox
控件的位置。那么为什么我要接受Focus
文本控制?
答案 0 :(得分:3)
实际上,选择正在进行中。
您可能会觉得文字没有被选中,因为它没有在视觉上突出显示,但那是因为TextBox
没有聚焦。
尝试使用TextBox
键将焦点放在Tab
上,您会看到整个文字突出显示。