c# - 以编程方式设置 WPF 组合框中的选定项目

标签 c# wpf data-binding

我有一个使用以下代码绑定(bind)到枚举的组合框:

cmb.ItemsSource = Enum.GetValues(typeof(DATABASE_TYPES)).Cast<DATABASE_TYPES>();

其中 DATABASE_TYPES 是:

public enum DATABASE_TYPES
        {
            JDataStore, Access, SQLServer, H2, PostGresSQL, MySQL
        };

我有一些与枚举值之一匹配的 xml:

<property name="Database.Main.Type"
        type="databaseType"
        default="JDataStore"
        permissions="superuser">
    </property>

我正在尝试以编程方式将组合框的所选项目设置为 xml 中的默认值。

我已经尝试过:

cmb.SelectedItem = propertyNode.Attributes["default"].Value;

但这不起作用。

有人可以建议一下吗?

最佳答案

您需要将字符串转换为枚举实例:

cmb.SelectedItem = (DATABASE_TYPES)Enum.Parse(typeof(DATABASE_TYPES), propertyNode.Attributes["default"].Value);

关于c# - 以编程方式设置 WPF 组合框中的选定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838039/

相关文章:

C# - 类型约束和限制,是否有任何解决方法来保持类型安全?

c# - 更改绑定(bind)属性时,ListView 分组不会更新

c# - Prism 实际上为开发人员提供了什么?值得吗?

c# - 绑定(bind)到两个值

c# - 仅在属性存在时绑定(bind)到属性

.net - WPF 数据绑定(bind)线程安全吗?

c# - 为什么所选项目在绑定(bind)到同一数据源的多个组合框之间同步?

android - 如何在 XML 中添加 OR 运算符?

c# - 将密码传递给 Web 服务并存储它

c# - Windows Phone 8.1 相机初始化