Ho WPF ComboBox all'interno di un modello di dati (un sacco di caselle combinate nella casella di riepilogo) e voglio gestire il pulsante di invio. Sarebbe facile se fosse ad es. un pulsante - Vorrei usare il comando + Percorso relativo del binding, ecc. Sfortunatamente, non ho idea di come sia possibile gestire la pressione del tasto con un comando o come impostare il gestore di eventi dal modello. Qualche suggerimento?Gestore eventi in DataTemplate
9
A
risposta
4
Ho risolto il mio problema utilizzando un normale gestore di eventi in cui passo attraverso l'albero visivo, trovo il pulsante corrispondente e chiamo il suo comando. Se qualcun altro ha lo stesso problema, si prega di postare un commento e fornirò maggiori dettagli di realizzazione.
UPD
Ecco la mia soluzione:
che cerco albero visuale per un pulsante e il comando associato con il tasto di eseguo.
View.xaml:
<ComboBox KeyDown="ComboBox_KeyDown"/>
<Button Command="{Binding AddResourceCommand}"/>
View.xaml.cs:
private void ComboBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
var parent = VisualTreeHelper.GetParent((DependencyObject)sender);
int childrenCount = VisualTreeHelper.GetChildrenCount(parent);
for (int i = 0; i < childrenCount; i++)
{
var child = VisualTreeHelper.GetChild(parent, i) as Button;
if (null != child)
{
child.Command.Execute(null);
}
}
}
}
10
È possibile utilizzare l'EventSetter nello stile che si sta impostando il modello con:
<Style TargetType="{x:Type ListBoxItem}">
<EventSetter Event="MouseWheel" Handler="GroupListBox_MouseWheel" />
<Setter Property="Template" ... />
</Style>
0
Questo articolo ha un modo per indirizzare qualsiasi Event
a Command
http://nerobrain.blogspot.nl/2012/01/wpf-events-to-command.html
Problemi correlati
- 1. Throttle un gestore eventi
- 2. Gestore di eventi multiselect Jquery
- 3. Snap.svg - drag gestore di eventi
- 4. di accesso in gestore di eventi
- 5. gestore di eventi wpf binding in stile
- 6. jQuery gestore di eventi in coda
- 7. Chiamare manualmente un gestore eventi
- 8. Come associare DataTemplate DataTemplate all'interfaccia?
- 9. Implementazione di un singolo gestore di eventi per più controlli con diversi delegati del gestore eventi
- 10. singolo gestore eventi per tutti gli eventi JavaScript/jQuery
- 11. Il gestore eventi nel costruttore si comporta diversamente dal gestore eventi dal costruttore
- 12. Pulsante per la pressione prolungata Gestore eventi
- 13. Opera ignorando .Live() Gestore di eventi
- 14. WinForms: disabilita temporaneamente un gestore di eventi
- 15. React: questo è null nel gestore eventi
- 16. Firma Doubleclick Floodlight utilizzando Gestore eventi Onclick
- 17. Devo rimuovere questo tipo di gestore eventi?
- 18. Come rimuovere un gestore di eventi lambda
- 19. Devo rimuovere un gestore di eventi?
- 20. Gestore di eventi globali del mouse
- 21. JavaScript argomenti del gestore di eventi
- 22. gestore di eventi Registrati specifica sottoclasse
- 23. Gestore di eventi di chiusura Python Flask
- 24. C# rimozione di un gestore di eventi
- 25. gestore di eventi Javascript con parametri
- 26. Aggiunta e rimozione di gestore eventi anonimi
- 27. Passaggio di argomenti a un gestore eventi
- 28. Valore di questo nel gestore eventi React
- 29. impedire l'esecuzione del gestore di eventi genitore
- 30. Change già attaccato gestore di eventi runtime