在WPF组合框中以编程方式设置所选项目

本文关键字:设置 方式 选项 项目 编程 WPF 组合 | 更新日期: 2023-09-27 18:28:59

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

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;

但这行不通。

有人能提供建议吗?

在WPF组合框中以编程方式设置所选项目

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

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

您还可以从enum中获得字符串列表,并且您的代码可以像一样工作

 cmb.ItemsSource = Enum.GetNames(typeof(DATABASE_TYPES));