Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengikat Enum ke Kotak Kombo WPF?

Bagaimana untuk Mengikat Enum ke Kotak Kombo WPF?

Susan Sarandon
Susan Sarandonasal
2025-01-05 01:09:40482semak imbas

How to Bind an Enum to a WPF ComboBox?

Enum to ComboBox Binding dalam WPF

Soalan

Percubaan untuk memaparkan nilai enum sebagai item dalam ComboBox tanpa rentetan paparan tambahan telah terbukti tidak berjaya. Kod XAML menggunakan pengikatan kepada sifat kelas, tetapi nilai enum tidak muncul.

Jawapan

Mengikat Melalui Kod

Dalam Tetingkap Dimuatkan pengendali acara, isikan sifat ItemsSource dengan enum nilai:

yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();

Mengikat dalam XAML

Menggunakan ObjectDataProvider:

<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>

Pemetaan Ruang Nama

Perhatikan penggunaan alias untuk ruang nama:

xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"

Untuk pemetaan ruang nama dan himpunan yang betul, rujuk dokumentasi MSDN.

Atas ialah kandungan terperinci Bagaimana untuk Mengikat Enum ke Kotak Kombo WPF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn