Heim > Backend-Entwicklung > C++ > Wie kann ich eine Enum einfach an eine WPF-ComboBox binden?

Wie kann ich eine Enum einfach an eine WPF-ComboBox binden?

Patricia Arquette
Freigeben: 2025-01-05 02:51:39
Original
381 Leute haben es durchsucht

How to Easily Bind an Enum to a WPF ComboBox?

Binden einer Aufzählung an eine ComboBox in WPF: Ein klarer und prägnanter Ansatz

Für diejenigen, die einen unkomplizierten Ansatz zum Binden einer Aufzählung an eine suchen ComboBox in WPF, dieser Artikel bietet eine kurze Zusammenfassung Anleitung.

Problem:

Versuch, eine Aufzählung mithilfe der BindingPath-Eigenschaft an eine ComboBox zu binden, stellt jedoch fest, dass die Aufzählungswerte nicht als Elemente in der sichtbar sind ComboBox.

Lösung:

Codebasierte Bindung:

Verwenden Sie im Window Loaded-Ereignishandler diesen Code:

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

Dieser Code ruft die Enum-Werte ab und legt sie als ItemsSource für fest ComboBox.

XAML-Bindung:

Um in XAML zu binden, verwenden Sie einen ObjectDataProvider:

<Window ...>
    <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>
    <Grid>
        <ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                  SelectedItem="{Binding Path=CurrentEffectStyle}" />
    </Grid>
</Window>
Nach dem Login kopieren

Denken Sie daran, den Namespace und die Assembly mithilfe von xmlns anzugeben .

Dieser Ansatz bietet eine klare und unkomplizierte Möglichkeit, eine Aufzählung an eine WPF-ComboBox zu binden, ohne dass Komplexität zusätzlicher Anzeigezeichenfolgen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Enum einfach an eine WPF-ComboBox binden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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