Übergeben Sie KeyEventArgs an ViewModel von View in WPF (MVVM)

8

Ich habe ein Textfeld und ich versuche, KeyEventArgs von Ansicht zu Viewmodel zu übergeben. Aber ich weiß nicht, wie man es implementiert. Was ich brauche, ist, wenn ein spezielles Zeichen eingegeben wird, dann wird eine Funktion aufgerufen, wenn normaler Text (wie A, B, C..etc) getippt wird, dann eine andere Funktion aufgerufen wird und wenn die Eingabetaste gedrückt wird, dann einige andere Funktion ist zu nennen.Wie es in MVVM zu tun. Ich verwende WPF mit VS 2012.

    
Runi Chatterjee 13.10.2013, 12:24
quelle

1 Antwort

18

Es gibt viele Ansätze. Lassen Sie mich alles einzeln erklären. 1. Wenn Sie nur eine ausgewählte Taste haben und wenn Sie die ausgewählte Taste drücken, nur eine Funktion ausführen soll, dann ist die beste Vorgehensweise die folgende.

%Vor%

Im obigen Beispiel können Sie beim Klicken auf diesen spezifischen Schlüssel sehen, dass diese Befehle ausgeführt und an das Viewmodel übergeben werden sollen. dann können Sie im Viewmodel wie gewohnt die Funktionen aufrufen.

2.wenn alle Schlüssel verfolgt werden sollen, unabhängig davon, welche Taste gedrückt wurde, dann sollte

besser verwendet werden %Vor%

Nun wird dies auf alle Tasten gedrückt, die gedrückt werden oder die Taste gedrückt werden .. und jede Funktion, die Sie aufrufen möchten, kann in viewmodel aufgerufen werden (dazu gehören interaction.dll und intereactivity.dll im Debug-Ordner des Projekts ( Sie erhalten diese DLL bei der Installation von Blend in der Programmdatei in C-Laufwerk.

3.wenn es der Fall ist, wie auf einer bestimmten Taste auf Funktion aufgerufen werden oder auf Tastendruck einer anderen Taste einige andere Funktion aufgerufen werden. Dann müssen Sie in Code hinter zu tun.

%Vor%

auf diese Weise können Sie die keyeventargs abfangen .. mainWindowViewModel ist eine Instanz von viewModel. Jetzt im ViewModel magst du das

%Vor%

Implementieren Sie diese Eigenschaft jetzt in Viewmodel folgendermaßen:

%Vor%     
Usman Ahmed 13.10.2013, 12:44
quelle

Tags und Links