2009-05-21 8 views
1

Ich habe eine WPF-Anwendung, die das aktuelle fokussierte Fenster werden soll, wenn sich der Mauszeiger darüber bewegt. Derzeit habe ich ein onMouseEnter-Ereignis, das den Cursor ändert, wenn die Maus darüber fährt, also weiß ich, dass das System das erkennt, aber was ich eigentlich will, ist, dass die Anwendung selbst fokussiert wird, als ob die verwendete Maustaste darauf geklickt hätte - also ich kann dann andere Ops ausführen. Im Moment, wenn ich darüber bewege, ändert sich der Cursor, aber wenn eine andere App, zB - Editor, den Fokus hatte, würde der Fokus darauf zurückkehren.C# So ändern Sie den Fensterfokus onMouseEnter-Ereignis

Innerhalb der OnMouseEnter-Handler habe ich "this.Focus()" und "this.Activate()" versucht, aber keiner von ihnen achtet auf das gleiche Ergebnis, als ob ich auf die App geklickt hätte.

Irgendwelche Ideen?

Antwort

0

Bearbeiten: Posted Antwort funktioniert nicht für WPF. Es tut uns leid.

Versuchen Sie, diese stattdessen für WPF suchen: http://blogs.msdn.com/nickkramer/archive/2006/03/18/554235.aspx

+0

danke Auxon, hast du Beispiele dafür, wie ich das machen würde? Und wo ist das im Event-Handler? – Grant

+0

Da ist die SO-Frage, die ich gerade über Bearbeiten hinzugefügt habe, und vielleicht http://dotnet.sys-con.com/node/39039. Ich habe versucht, etwas näher zu Ihrem Problem zu finden, aber noch nichts gefunden. Immer noch suchend. –

+0

Danke. appreciated. – Grant

1

WPF C# Beispiel mit einem MouseEnter- Ereignisse zu einem Grid-Steuerelement angebracht. Wenn ein anderes Anwendungsfenster den Fokus hat, entfernt es es und hängt den Fokus an das Hauptfenster an, als ob der Benutzer darauf geklickt hätte.

private void GrdContent_MouseEnter(object sender, MouseEventArgs e) 
    { 
     Application.Current.MainWindow.Activate(); 
    } 
+0

bitte fügen Sie Erklärung für Ihren Code hinzu –