| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > Биндинг Dictionary<enum, int> |
| Автор: gambit 20.12.2010, 10:45 | ||
Привет. Хочу спросить как лучше сделать.
Его я биндю к DataGrid. Все честно работает, выводится: lya_lya | aaa ---------------- table | 5 chair | 3 cup | 6 НО мне, надо, что бы значения из enum, были написаны по русски lya_lya | aaa ---------------- Стол | 5 Стул | 3 Чашка | 6 Я могу конечно сделать элементы енума написанными по русски, но мне кажется, это не лучшей идеей. Ваши предложения. |
| Автор: jonie 20.12.2010, 14:58 |
| TypeConverter вам нужно написать http://www.codeproject.com/KB/cs/enumdescconverter.aspx |
| Автор: gambit 20.12.2010, 15:28 |
| jonie, спасибо, посмотрим |
| Автор: gambit 21.12.2010, 02:11 |
| Попробовал, все ок. Спасибо. Но если у кого буду еще варианты, пож. Пишите. Этот вариант работает через рефлексию, что не самый айс |
| Автор: CYBERDREAM 21.12.2010, 10:30 |
| а как без нее? как уже обсуждалось можешь обертку написать, я делал статический женерик класс, который мне без проблем уже все выдавал в нужном виде http://base.vingrad.ru/view/3150-Opisanie-Enum |
| Автор: Kefir 24.12.2010, 01:34 | ||
gambit, напиши отдельный IValueConverter для твоего энума. Соответственно там просто надо через switch смотреть какой из энумов пришёл и переводить его. А-ля так:
На ConvertBack можешь поставить просто return Binding.DoNothing; (оба эти метода приходят вместе с интерфейсом). Ну и как обычно - прикручиваешь к биндингу этот конвертер. И будет счастье Добавлено через 1 минуту и 20 секунд P.S. И никакого рефлекшна! |
| Автор: jonie 24.12.2010, 10:19 |
| Kefir, так проще имхо занести значения в resx и выдавать их по ключу, составленому например так: "enum_" + enumValue; |
| Автор: Kefir 27.12.2010, 11:15 |
| jonie, куда заносить это уже дело десятое А если о хранении - тут вообще где угодно можно хранить. Я лично просто пользуюсь системой локализации и такие вещи дёргаю из интерфейса - а что там на заднем плане крутится (resources, БД или XML) - это меня не касается |