| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > PropertyGrid и CultureInfo |
| Автор: IEZ 20.9.2007, 16:29 | ||||
| Приветствую Всех! Есть propertygrid к которому я цепляю класс, одно из свойств которого выглядит так:
Конвертер выглядит так:
Все работает, в свойстве открывается список культур, но только в нем отображается CultureInfo.DisplayName, а мне нужно, чтобы выводился список состоящий из CultureInfo.NativeName. Как это можно сделать? Спасибо. |
| Автор: tol05 20.9.2007, 19:15 | ||
не получится. Открой CultureInfoConverter рефлектором и увидишь, что ConvertTo() имеет такой код
значит будет этот конвертер будет возвращать displayName всегда. Выход - переопредели и метод ConvertTo(). P.S. А также ConvertFrom() к нему в пару |
| Автор: IEZ 21.9.2007, 14:14 |
А где файлец лежит? Чего-то одноименное я не нашел. |
| Автор: tol05 21.9.2007, 14:18 |
"файлец" - это сборка, содержащая класс CultureInfoConverter, от которого ты наследуешь свой конвертер называется эта сборка system.dll и лежит она в гаке. Ты можешь открыть ее рефлектором и найти в ней класс CultureInfoConverter? Полное имя класса System.ComponentModel.CultureInfoConverter |
| Автор: IEZ 21.9.2007, 14:46 | ||||
tol05, Чего-то не совсем получается переопределить
Сделал так:
Чего-то показывает, но вылетает на ConvertFrom и затем и на ConvertTo. Совсем затупил. |
| Автор: IEZ 21.9.2007, 16:30 |
| tol05, Спасибо большое разобрался. Последний вопрос: можно ли получить список культур с наименованиями на конкретном языке? Если да то как? |
| Автор: tol05 21.9.2007, 22:40 | ||
| нет, ИМХО нельзя. CultureInfo - это ведь не словарь, чтобы хранить свое название на всех языках мира. Тебе сегодня нужно, чтобы все CultureInfo вывели свои имена на венгерском, завтра - на корейском, а я лично давно хотел их почитать на суахили Как я знаю любой из CultureInfo может "расписаться" на трех языках: - на своем родном (CultureInfo.NativeName). Было б странно, если б он не знал как себя на языке своей культуры величать. - на английском (CultureInfo.EnglishName). А куда ж без него, кормильца-то? - на языке локализации FW (CultureInfo.DisplayName). Вот что про это свойство написано:
написано http://msdn2.microsoft.com/en-us/library/system.globalization.cultureinfo.displayname.aspx |
| Автор: IEZ 21.9.2007, 23:08 |
| Спасибо. |