wpf Schaltfläche mit Dropdown-Liste und Pfeil

8

Kann jemand vorschlagen, den besten Weg, um eine Schaltfläche mit einem Pfeil und Dropdown-Liste wie in Visual Studio Toolbar Schaltfläche neues Element zu haben. Wie Sie in VS sehen können, markiert der Mauszeiger sowohl die Standardschaltfläche als auch die Pfeilschaltfläche und nach Auswahl eines Elements aus der Liste ändert sich die Standardschaltfläche entsprechend Ihrer Auswahl.

Hier ist ein Codeabschnitt, der das Dropdown-Menü zeigt, aber nicht für die oben beschriebene vollständige Funktionalität

Danke im Voraus

%Vor%     
artos 19.07.2013, 04:11
quelle

4 Antworten

6

Ich würde vorschlagen, WPF Tookit und seine SplitButton -Kontrolle zu verwenden, es ist kostenlos

    
Demarsch 22.09.2014 19:11
quelle
4

Es sieht so aus, als hättest du drei Probleme zu lösen:

  1. Styling / Layout
  2. Markieren Sie die Dropdown-Schaltfläche und OnMouseOver
  3. Ändern Sie die Standardschaltfläche entsprechend zur letzten Auswahl des Menüs

Styling / Layout

Hier sind ein paar Beispiele:

Ich bin mir sicher, dass es viele andere Möglichkeiten gibt (z. B. eine einfache Schaltfläche und eine ComboBox, die entsprechend formatiert ist)

Dropdown-Menü und Schaltfläche OnMouseOver

hervorheben

Experimentieren Sie mit Triggern; z.B.:

Ändern Sie die Standardschaltfläche entsprechend zur letzten Auswahl des Menüs

Versuchen Sie den MVVM-Ansatz: Das Schaltflächenelement wird an eine Eigenschaft in Ihrem ViewModel gebunden. Jeder Menüeintrag ruft eine Aktion (ICommand) in Ihrem ViewModel auf. Dieses ViewModel wird wissen, welches Menüelement aufgerufen wurde, und die Eigenschaft der Schaltfläche im ViewModel aktualisieren. Die Schaltfläche wird automatisch mit Datenbindung aktualisiert.

    
JoelBellot 26.02.2014 22:44
quelle
3

Die Lösung besteht darin, einen Menüpunkt zu verwenden und ihn zu dekorieren.

XAML-Code:

%Vor%

C # -Code: Wenn das Menü gedrückt wird, wird das Kontextmenü geöffnet.

%Vor%     
Joe Sonderegger 13.04.2015 14:09
quelle
0

Überprüfen Sie das ComboBox-Steuerelement, das mit einer Standard-WPF-Anwendung geliefert wird.

    
HandleThatError 19.07.2015 23:46
quelle

Tags und Links