Программно установить выбранный элемент в поле со списком WPF - PullRequest
2 голосов
/ 23 марта 2012

У меня есть выпадающий список, который привязан к перечислению, используя следующий код:

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;

, но это не работает.

Может кто-нибудь посоветовать, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Вам необходимо преобразовать строку в экземпляр enum:

cmb.SelectedItem = (DATABASE_TYPES)Enum.Parse(typeof(DATABASE_TYPES), propertyNode.Attributes["default"].Value);
0 голосов
/ 23 марта 2012

Вы также можете получить список строк из enum, и ваш код работает как

 cmb.ItemsSource = Enum.GetNames(typeof(DATABASE_TYPES));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...