Im KeyDown-Ereignis meines Silverlight-TextBox-Steuerelements wird der F7-Schlüssel nicht erkannt und ich habe bisher nicht herausfinden können, warum.
Hier ist der Code:
private void txtDraw_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.F7)
{
Debug.WriteLine("F7");
drawRect();
}
else if (e.Key == Key.F8)
{
Debug.WriteLine("F8");
draw2Rects();
}
else if (e.Key == Key.F9)
{
Debug.WriteLine("F9");
draw3Rects();
}
}
private void draw3Rects()
{
}
private void draw2Rects()
{
}
private void drawRect()
{
Rectangle rect = new Rectangle();
rect.Fill = new SolidColorBrush(red);
Grid.SetColumn(rect, 1);
Grid.SetRow(rect, 0);
}
Ich weiß, dass das Drücken der F7-Taste nichts bewirkt, da ich versucht habe, diesen Bereich zu debuggen und Debug.WriteLine() verwendet habe. Die einzigen Debug.WriteLine()-Methoden, die aufgerufen werden, sind wenn die F8-Taste und die F9-Taste gedrückt werden. F7 funktioniert nicht.
In Internet Explorer 32-Bit ist die F7-Taste für eine bestimmte Funktion reserviert (ich glaube es war Caret-Browsing). Ich habe noch nicht herausgefunden, wie ich dies ändern kann und kann es wahrscheinlich auch nicht ändern.
Eine Vermutung, die ich anstellen könnte, ist, dass Internet Explorer das KeyDown-Ereignis stiehlt, wenn die F7-Taste gedrückt wird. Ich weiß nicht, wie diese beiden Prozesse isoliert sind.
Irgendwelche Ideen, warum die F7-Taste nicht erkannt wird?
Vielen Dank