首页 > 后端开发 > C++ > 如何将枚举绑定到 WPF ComboBox?

如何将枚举绑定到 WPF ComboBox?

Susan Sarandon
发布: 2025-01-05 01:09:40
原创
513 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板