Heim > Backend-Entwicklung > C++ > Wie binde ich Enums an WPF-ComboBox-Steuerelemente?

Wie binde ich Enums an WPF-ComboBox-Steuerelemente?

Linda Hamilton
Freigeben: 2025-01-05 19:16:41
Original
741 Leute haben es durchsucht

How to Bind Enums to WPF ComboBox Controls?

Aufzählungen an WPF-ComboBox-Steuerelemente binden

Beim Versuch, Aufzählungswerte als Elemente in einer ComboBox anzuzeigen, reicht die Bindung direkt aus dem DataContext möglicherweise nicht aus. Um dieses Problem anzugehen, stellen wir zwei Ansätze zur Lösung dieses Problems vor: durch Code- und XAML-Bindung.

Codebasierte Bindung

Führen Sie im Loaded-Ereignishandler des Fensters den folgenden Code aus:

yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
Nach dem Login kopieren

Dadurch werden die Enum-Werte abgerufen und als Elementquelle der ComboBox zugewiesen.

XAML Bindung

Für die XAML-Bindung verwenden Sie einen ObjectDataProvider:

<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                  SelectedItem="{Binding Path=CurrentEffectStyle}" />
Nach dem Login kopieren

Definieren Sie im Abschnitt „Ressourcen“ des Fensters den ObjectDataProvider:

<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
                            ObjectType="{x:Type System:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="StyleAlias:EffectStyle"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
Nach dem Login kopieren

Denken Sie daran, die erforderlichen Namespaces zu deklarieren:

xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
Nach dem Login kopieren

Diese Methoden bieten einfache und effektive Möglichkeiten, Aufzählungen an ComboBox-Steuerelemente zu binden WPF.

Das obige ist der detaillierte Inhalt vonWie binde ich Enums an WPF-ComboBox-Steuerelemente?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage