Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Прибиндить в комбобокс значения перечисления / 3 сообщений из 3, страница 1 из 1
15.07.2013, 15:23
    #38331507
_Novichok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прибиндить в комбобокс значения перечисления
Доброго здоровья.

Такой вопрос: есть комбобокс, к нему надо прикрутить перечисление, как источник данных. Самый простой вариант у меня получался такой:
Код: c#
1.
2.
3.
4.
5.
public enum Mode
    {
        Admin,
        User
    }


Код: c#
1.
comboBox1.DataSource = Enum.GetValues(typeof(Mode));


Но в таком случае выводятся латиницей значения перечисления. А надо, чтобы в элементы комбобокса выводились иные значения. Например, значения перечисления обозначены каким-то атрибутом
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
    public enum Mode
    {
        [SomeAttribute("Продвинутый пользователь")]
        Admin,

        [SomeAttribute("Ограниченный пользователь")]
        User
    }


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public class SomeAttribute : Attribute
    {
        public string Mode { get; private set; }

        public SomeAttribute(String mode)
        {
            Mode = mode;
        }
    }


И в комбобоксе чтобы выводилось именно значение атрибута, перевариваемые для пользователя отображаемые значения.
При выборе элемента комбобокса, соответственно, должен присутствовать экземпляр перечисления Mode.

Конечно, значения атрибутов можно писать на русском языке, но тогда не допускаются пробелы и иные знаки.

Как можно это организовать, и если нельзя, то как можно обойти?

Спасибо.
...
Рейтинг: 0 / 0
15.07.2013, 15:54
    #38331560
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прибиндить в комбобокс значения перечисления
_Novichok,

ИМХО одним enum'ом не отделаешься. Я бы сделал какой-нибудь List<NameValueClass>, где NameValueClass.name = "Описание", NameValueClass.value = Mode.Admin. И заполнил бы этот List где-нибудь при инициализации проги.
...
Рейтинг: 0 / 0
15.07.2013, 16:58
    #38331684
_Novichok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прибиндить в комбобокс значения перечисления
Кому надо будет, точь-в-точь проблема, на кодепроджект нашел: http://www.codeproject.com/Articles/19980/Data-Binding-an-Enum-with-Descriptions
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Прибиндить в комбобокс значения перечисления / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]