Mehrere Shortcuts verwenden (ComandBindings und KeyBinding)

  • WPF

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Mehrere Shortcuts verwenden (ComandBindings und KeyBinding)

    Hallo Forum,

    ich stehe mal wieder gewaltig auf den Schlauch! Ich möchte in meiner WPF Anwendung zwei verschiedene Fenster anzeigen lassen, hierfür habe ich folgenden Xamel Code:

    XML-Quellcode

    1. <!--Techniker Menü aufruf-->
    2. <Window.CommandBindings>
    3. <CommandBinding Command="ApplicationCommands.Open" Executed="Executed_TM_Open" />
    4. <CommandBinding Command="ApplicationCommands.Open" Executed="VMS_Settigs_Open" />
    5. </Window.CommandBindings>
    6. <Window.InputBindings>
    7. <KeyBinding Command="ApplicationCommands.Open" Gesture="Ctrl+O"/>
    8. <KeyBinding Command="ApplicationCommands.Open" Gesture="Ctrl+P" />
    9. </Window.InputBindings>


    Und folgenden VB.Net Code:

    Quellcode

    1. ​Private Sub Executed_TM_Open(sender As Object, e As ExecutedRoutedEventArgs)
    2. Dim Techniker_Menue As New Techniker_Menue
    3. Techniker_Menue.Show()
    4. End Sub
    5. Private Sub VMS_Settigs_Open(sender As Object, e As ExecutedRoutedEventArgs)
    6. Dim VMS_Settings As New VMS_Settings
    7. VMS_Settings.Show()
    8. End Sub


    Leider Funktioniert es nicht, er zeigt mir immer nur das Fenster Techniker_Menue an. Ich denke das Binding fehlt hier? Leider habe ich das noch nicht ganz verstanden, wie müsste das den aussehen?

    Gruß
    Steffen
    Hallo

    Weil du ja beide male den Open Command verwendest. Das geht hald nicht. Ein Command kann nur 1x gesetzt werden.

    Grüße
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Indem du einen anderen Command verwendest. Welchen bleibt dir überlassen.
    Oder man macht es gleich wie es sich gehört mittels Binding und verwendet RelayCommands, so wirds normal in der WPF gemacht, wenn man allerdings nicht mit Binding arbeitet (was unter WPF dann sehr einschränkt) wirst du einiges umbauen müssen wenn du schon viel in deiner Code-Behind hast.

    Alle weiteren Infos über Binding, Commands, RelayCommand uvm. findest du in meiner Tutorialreihe (siehe Signatur).

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##