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

如何將枚舉綁定到 WPF ComboBox?

Susan Sarandon
發布: 2025-01-05 01:09:40
原創
511 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板