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

Bagaimana untuk Mengikat Enum ke Kotak Kombo WPF?

Susan Sarandon
Lepaskan: 2025-01-05 01:09:40
asal
481 orang telah melayarinya

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>();
Salin selepas log masuk

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>
Salin selepas log masuk

Pemetaan Ruang Nama

Perhatikan penggunaan alias untuk ruang nama:

xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan