Enter tuşuna bastığımda, MessageBox
gösteriliyor. Her zamanki gibi tekrar enter tuşuna bastığımda kapatmak için MessageBox
'u istiyorum. Sorun şu ki, odak noktası yok, ama TextBox
'un sahip olduğu ve _textBox_OnKeyUp
olay satıcısını yeniden tıkladığımda tekrar ve tekrar çağrılır. Sorunumu nasıl çözebilirim?MessageBox odağı almıyor
Biçimlendirme:
<Grid>
<TextBox Name="_textBox"
Width="100"
Height="30"
Background="OrangeRed"
KeyUp="_textBox_OnKeyUp"/>
</Grid>
Kodu: Sen KeyDown
olay kullanabilirsiniz
private void _textBox_OnKeyUp(object sender, KeyEventArgs e)
{
if (e.Key != Key.Enter)
return;
MessageBox.Show("Bla-bla");
}
gösteri bu, bence, bu vaka ile aynıdır: http://stackoverflow.com/questions/6882196/wpf-command-for-textbox-which-fires-up-when-we-hit -enter-key-on-it –
WPF'de denetlenmeyen pencereler olduğundan, kötü hava alanı sorunlarından, etkinleştirme ve odaklama gereksinimlerinden biridir. Bu "normal" yolu yapmazsanız, oldukça glitchy olabilir, WPF kısayol tuş vuruşlarını KeyDown bildirimi ile uygulanmış bir sert pişmiş varsayım vardır. Bu olayı kullanmak, probleminizi önemsiz bir şekilde çözer. –