Я не осознавал этого, но, похоже, это так. Кроме того, я не могу заставить MouseLeftButtonUp срабатывать. MouseLeftButtonDown работает, хотя и используя это, вы можете сделать это взломать.
<TextBox IsTabStop="False" MouseLeftButtonDown="TextBox_MouseLeftButtonDown" />
Тогда в коде вы можете обработать событие следующим образом.
private void TextBox_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var textBox = ((TextBox) sender);
textBox.IsTabStop = true;
textBox.Focus();
textBox.IsTabStop = false;
}
Возможно, стоит обернуть его в CustomControl
public class FocusableTextBox : TextBox
{
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
if (!IsTabStop)
{
IsTabStop = true;
Focus();
IsTabStop = false;
}
base.OnMouseLeftButtonDown(e);
}
}