首頁 >後端開發 >C++ >如何將枚舉綁定到 WPF ComboBox?

如何將枚舉綁定到 WPF ComboBox?

Susan Sarandon
Susan Sarandon原創
2025-01-05 01:09:40482瀏覽

How to Bind an Enum to a WPF ComboBox?

WPF 中的枚舉到ComboBox 綁定

問題

嘗試在不添加其他顯示字串的情況下將枚舉值顯示為ComboBox 中的項目已證明不成功。 XAML 程式碼使用綁定到類別屬性,但枚舉值不會出現。

答案

透過程式碼綁定

在載入的視窗中事件處理程序,使用枚舉填充ItemsSource 屬性值:

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

在XAML中綁定

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

命名空間映射

注意別名的使用命名空間映射

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

注意別名的使用命名空間:

有關命名空間和程序集的正確映射,請參閱MSDN 文件.

以上是如何將枚舉綁定到 WPF ComboBox?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn