Enumeration an ein WPF-ComboBox-Steuerelement binden
In Interface Development Environments (IDEs) wie Visual Studio kann es vorkommen, dass Enumerationen an Combobox-Steuerelemente gebunden werden Herausforderungen. Dieser Artikel bietet eine einfache Anleitung, um diese Bindung ohne zusätzliche Komplexität zu erreichen.
Um Enum-Werte direkt in einer Combobox anzuzeigen, ohne Anzeigezeichenfolgen zu verwenden, befolgen Sie diese Schritte:
Von Code:
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
In XAML:
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" SelectedItem="{Binding Path=CurrentEffectStyle}" />
Für den XAML-Ansatz ist jedoch ein ObjectDataProvider zum Erstellen erforderlich ein Objekt, das als Bindungsquelle verfügbar ist:
<Window.Resources> <ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues" ObjectType="{x:Type System:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="StyleAlias:EffectStyle"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </Window.Resources>
Beachten Sie die xmlns-Deklaration:
xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
Diese Zeile ordnet Namespaces und Assemblys zu, wie in der Dokumentation des Microsoft Developer Network (MSDN) beschrieben. Durch die Implementierung dieser Schritte können Sie Aufzählungen erfolgreich an ein Combobox-Steuerelement in WPF binden, was einen saubereren und unkomplizierteren Ansatz bietet.
Das obige ist der detaillierte Inhalt vonWie binde ich Enums einfach an eine WPF-ComboBox?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!