Chcę zinterpretować klawisz Enter jako klawisz Tab w całej mojej aplikacji WPF, tj. Wszędzie w mojej aplikacji, gdy użytkownik naciśnie klawisz Enter Chcę ustawić ostrość następnego elementu sterującego, z wyjątkiem sytuacji, gdy przycisk jest skupiony. Czy jest jakiś sposób na zrobienie tego w kręgu życia aplikacji? Czy ktoś może dać mi przykład?
Wielkie dzięki!
Interpretuj jako zakładkę WPF
Odpowiedz
Możesz użyć mojego kodu EnterKeyTraversal attached property, jeśli chcesz. Dodaj go do kontenera najwyższego poziomu w oknie WPF i wszystko wewnątrz potraktuje wprowadzić taką kartę:
<StackPanel my:EnterKeyTraversal.IsEnabled="True">
...
</StackPanel>
problem jestem stoi to, że gdy ostrość przychodzi na przycisku, chcę wykonać polecenie i przenieść na następny indeks kart. Czy to możliwe? –
woodyiii, Istnieje funkcja w UIElement
nazywa PredictFocus()
który według jego nazwy znać swoją funkcję, to można sprawdź czy ten element jest włączony, czy nie, aby przenieść fokus do niego, czy nie ...
Mam problem z woodyiii przez dodanie FrameworkElement.Tag (którego wartość jest IgnoreEnterKeyTraversal) do niektórych elementów (przyciski, comboboxes, lub coś, co chcę zignorować przejście klawisza Enter) w moim XAML. Następnie szukałem tej wartości znacznika & w załączonej właściwości. Tak:
if (e.Key == Key.Enter)
{
if (ue.Tag != null && ue.Tag.ToString() == "IgnoreEnterKeyTraversal")
{
//ignore
}
else
{
e.Handled = true;
ue.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
}
Upewnij się, że zrobisz to w zdarzeniu "KeyDown', a nie' PreviewKeyDown' lub karetka się nie poruszy. Ponadto nie określa się, czym jest 'ue', ale przynajmniej dla mnie musi to być' e.Source'. – Conrad
To dobrze. Działa na TextBox, jeśli ma Tag = "IgnoreEnterKeyTraversal", ale chcę to samo na ComboBox z IsEditable = "true". W tym scenariuszu Twoja sztuczka nie działa. Czy możesz mi powiedzieć, jak mogę to zrobić? – Vishal
Aby zmienić go w całym projekcie, którą musisz zrobić to
W App.xaml.cs:
protected override void OnStartup(StartupEventArgs e) { EventManager.RegisterClassHandler(typeof(Grid), Grid.PreviewKeyDownEvent, new KeyEventHandler(Grid_PreviewKeyDown)); base.OnStartup(e); } private void Grid_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e) { var uie = e.OriginalSource as UIElement; if (e.Key == Key.Enter) { e.Handled = true; uie.MoveFocus( new TraversalRequest( FocusNavigationDirection.Next)); } }
skompilować. I zrobiłem to. Teraz możesz użyć karty Enter like. Uwaga: Ta praca dla elementów w siatce
- 1. WPF TabControl Zmień wybraną zakładkę
- 2. bash: interpretuj zmienną łańcuchową jako nazwę pliku/ścieżkę
- 3. Aktywuj zakładkę TabControl
- 4. Interpretuj (i używaj) danych wyjściowych z lokalnego polecenia Fabric
- 5. WPF - Importuj obraz jako zasób
- 6. Używanie StackPanel jako ContentControl (WPF)
- 7. Zapisywanie płótna WPF jako obrazu
- 8. Aktywuj aktywną zakładkę wewnątrz TabLayout
- 9. wxPython: Czy wyłączyć zakładkę notatnika?
- 10. Jak ustawić domyślną zakładkę z jQuery UI
- 11. Jak zabić konkretną zakładkę/proces chrome
- 12. JavaFX TabPane: Jak ustawić wybraną zakładkę?
- 13. Usuń zakładkę ('\ t') z ciągu znaków javascript
- 14. Dlaczego ImageSource jest dozwolony jako zasób WPF?
- 15. Używanie obrazu XAML jako tła okna WPF
- 16. Uruchamianie aplikacji WPF jako usługi systemu Windows
- 17. Zapisz widok wpf jako obraz, najlepiej .png
- 18. Jak popularne jest WPF jako technologia?
- 19. Jak wyświetlać zakładkę elementów i zakładkę źródeł w tym samym czasie w chrome dev tools
- 20. jak wyrównać pionowo zakładkę materiału kątowego?
- 21. Wybierz konkretną zakładkę w Ionic 2
- 22. Jak aktywować zakładkę z konsoli Javascript poniżej?
- 23. Usterka pakowania w zakładkę Visual Studio 2013
- 24. Jak zrobić przewijaną zakładkę w systemie Android?
- 25. Otwórz zakładkę w Mozilli Dodaj na SDK
- 26. Jak zapamiętać ostatnio wybraną zakładkę w UITabBarController?
- 27. Jak programowo zmienić zakładkę (modułu UITabViewController)?
- 28. Mercurial przenieść zakładkę do starego popełnić
- 29. Jak zaktualizować tylko aktywną zakładkę p: tabView?
- 30. Centrum Android wyrównaj wybraną zakładkę w tablayout
BabySmash Scott Hanselman wykorzystuje niektóre klawiatura zastępuje – bendewey