Wenn ich auf die Enter-Taste klicke, wird MessageBox
angezeigt. Ich möchte MessageBox
schließen, wenn ich wie üblich erneut auf die Enter-Taste klicke. Das Problem ist - es hat keinen Fokus, aber TextBox
hat und wenn ich auf Enter-Taste _textBox_OnKeyUp
Eventhandler wird immer wieder aufgerufen. Wie kann ich mein Problem lösen?MessageBox nicht Fokus
Markup:
<Grid>
<TextBox Name="_textBox"
Width="100"
Height="30"
Background="OrangeRed"
KeyUp="_textBox_OnKeyUp"/>
</Grid>
Code:
private void _textBox_OnKeyUp(object sender, KeyEventArgs e)
{
if (e.Key != Key.Enter)
return;
MessageBox.Show("Bla-bla");
}
Dieser, glaube ich, ist es mit Ihrem Fall gleich: http://stackoverflow.com/questions/6882196/wpf-command-for-textbox-which-fires-up-when-we-hit -enter-key-on-it –
Es ist eines der berüchtigten Luftraumprobleme, Aktivierung und Fokus müssen in WPF emuliert werden, da Steuerelemente keine Fenster sind. Das kann ziemlich störend sein, wenn Sie es nicht auf die "normale" Art und Weise machen, hat WPF eine hartnäckige Annahme, dass Tastaturkürzel mit der KeyDown-Benachrichtigung implementiert werden. Die Verwendung dieses Ereignisses löst stattdessen Ihr Problem trivialerweise auf. –