ich dort eine Möglichkeit zu wissen, welches Element hat den Schwerpunkt in und WPF-Anwendung? Gibt es eine Möglichkeit, alle Ereignisse und Methodenaufrufe in wpf zu überwachen?Gibt es eine Möglichkeit zu wissen, welches Element in einer WPF-Anwendung den Fokus hat?
Antwort
ok Die auf dieser Seite, die Sie Ich werde eine Lösung finden, aber es ist ein bisschen eklig, wenn Sie mich fragen: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a420dc50-b238-4d2e-9209-dfbd98c7a060
Es verwendet den VisualTreeHelper, um eine große Liste aller Steuerelemente zu erstellen, und fragt sie dann, ob sie den Fokus haben, indem sie auf die IsFocused-Eigenschaft schauen.
Ich würde denken, dass es einen besseren Weg gibt, es zu tun. Vielleicht eine Suche nach Active Control oder Focussed Kontrolle in Kombination mit WPF.
EDIT: Dieses Thema könnte nützlich sein How to programmatically navigate WPF UI element tab stops?
FocusManager.GetFocusedElement(this); // where this is Window1
Hier ist eine vollständige Probe (wenn die App läuft, ein Textfeld konzentrieren und drücken Sie die Eingabetaste)
XAML:
<Window x:Class="StackOverflowTests.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" KeyDown="window1_KeyDown"
Title="Window1" x:Name="window1" Height="300" Width="300">
<StackPanel>
<TextBox x:Name="textBox1" />
<TextBox x:Name="textBox2" />
<TextBox x:Name="textBox3" />
<TextBox x:Name="textBox4" />
<TextBox x:Name="textBox5" />
</StackPanel>
</Window>
C#
using System.Windows;
using System.Windows.Input;
namespace StackOverflowTests
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void window1_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if(e.Key == Key.Return)
MessageBox.Show((FocusManager.GetFocusedElement(this) as FrameworkElement).Name);
}
}
}
I gibt null zurück, wenn das fokussierte Element ein Fenster ist. –
- 1. Javascript blur event - Gibt es eine Möglichkeit zu erkennen, welches Element nun den Fokus hat?
- 2. Testen, welches Element den Fokus hat, wenn man es verloren hat
- 3. Gibt es eine Möglichkeit zu finden, ob das XCUIElement den Fokus hat oder nicht?
- 4. Gibt es eine Möglichkeit, den Fokus nach dem Weichzeichnen wieder auf das gleiche Element zu richten
- 5. Gibt es eine Möglichkeit zu überprüfen, ob ein DataGrid in Silverlight Fokus hat?
- 6. Wie ermittelt man, welches Element den Fokus in blur() erhält?
- 7. Gibt es eine Möglichkeit zu wissen, ob Deflate (oder Ihr Z_STREAM) Daten gepuffert hat? zlib C++
- 8. Gibt es eine Möglichkeit zu wissen, ob Benutzer Mail öffnen?
- 9. Gibt es eine Möglichkeit, Fenster zu konfigurieren, um den Fokus nicht zu ändern?
- 10. Gibt es eine Möglichkeit, den Ursprung einer Alarmbox zu erhalten?
- 11. Gibt es eine Möglichkeit zu erkennen, welche Anwendung den Fokus erhält?
- 12. Gibt es eine Möglichkeit, das vorherige Element zu targetieren?
- 13. Gibt es eine Möglichkeit, eine Schlüsselbindung in Eclipse RCP zu erstellen, die unabhängig vom Fokus funktioniert?
- 14. Gibt es eine Möglichkeit, den Typ eines Mountpoints zu bestimmen?
- 15. Gibt es eine Möglichkeit zu wissen, wie viele Iterationen wir in einer for-Schleife gemacht haben?
- 16. Wie kann ich testen, welches Element in Selenium RC den Fokus hat?
- 17. So legen Sie fest, welches Steuerelement den Fokus hat Anwendungsstart
- 18. Gibt es eine Möglichkeit, eine Klassenbreite in einer Direktive zu erhalten?
- 19. Gibt es eine Möglichkeit, ein eigenes HTML-Element zu erstellen?
- 20. Gibt es eine Möglichkeit, den Namen einer Sytem.Threading.Task festzulegen?
- 21. Gibt es eine Möglichkeit, onPanResponderMove zu verwalten?
- 22. Java: Gibt es eine Möglichkeit zu wissen, ob ein InputStream eine Readonly-Datei ist
- 23. Gibt es eine Möglichkeit, ein HTML-Element schlank zu machen?
- 24. Wissen, welches HTML-Element vertikale Bildlaufleiste verursacht
- 25. Gibt es eine Möglichkeit, den Besitzer eines JDialogs zu ändern?
- 26. Gibt es eine Möglichkeit, den Fokus auf Tab mit Javascript zu verfolgen?
- 27. Gibt es eine Möglichkeit, den Rückgabetyp Arrays.asList zu zwingen
- 28. JS: Gibt es eine Möglichkeit zu sagen, welches Objekt eine Funktion genannt wird?
- 29. Gibt es eine Möglichkeit, den Gerätekontexttyp zu unterscheiden?
- 30. Gibt es eine Möglichkeit zu wissen, ob ein Formular minimiert wurde?
Hat die Lösung überhaupt für Sie arbeiten? – Carlo
Eigentlich habe ich UISpy verwendet, das den Fokus von Artikeln verfolgt –
Ich verwendete ähnliches Tool - Inspizieren (C: \ Programme (x86) \ Windows Kits \ 10 \ bin \ 10.0.16299.0 \ x64 \ inspect.exe). –