2017-08-31 2 views
-5

Ich versuche, einen Befehl auszuführen, wenn der Benutzer eine Taste drückt:UWP-Trigger-Befehl auf Keydown?

<TextBox Command="{Binding myCommand}" Height="200" Width="200" FontSize="20"></TextBox> 

Jetzt UWP im nicht ganz sicher, mit wie dies erreicht wird. In WPF haben wir Tastaturbelegungen aber hier? Wenn möglich ohne Bibliotheken von Drittanbietern. Wie würdest du das lösen? Ich möchte das Rad nicht neu erfinden und meine eigene Befehlsimplementierung erstellen, die für solche Kantenfälle geeignet ist.

Antwort

6

Installieren Sie das Behaviors NuGet, wenn Sie es nicht haben und dann:

<TextBox Height="200" Width="200" FontSize="20"> 
    <Interactivity:Interaction.Behaviors> 
     <Core:EventTriggerBehavior EventName="KeyDown"> 
      <Core:InvokeCommandAction Command="{Binding myCommand}" /> 
     </Core:EventTriggerBehavior> 
    </Interactivity:Interaction.Behaviors> 
</TextBox> 
+0

Wie kommt es nicht Teil des .net-Paket Kern und hat durch NuGet installiert werden? Danke für die Antwort. – Asperger

+2

Ich schätze, manche Leute wenden MVVM nicht an und brauchen das daher nicht. Außerdem verwenden viele Entwickler andere gängige Frameworks, die Verhaltensweisen implementieren, z. MVVM Light und einige nutzen sogar ihre eigene proprietäre Lösung. – Isma

+0

immer noch komisch denkst du nicht? Ich dachte, wpf und uwp wären mvvm-Frameworks, aber sie halten Dinge wie win2d und Verhaltensweisen als separate Pakete omg. – Asperger