Классная штука, я использовал её для собственной валидации при связывании(binding). Правда есть вещи которые не смог тогда «победить». Сейчас вспомнил про IValueConverter на данном MarkupExtension, который нельзя использовать в markup. Например:
Да, вы здесь правы, к соажлению, не работает. Сделал все так же как и в стандартном биндинге, при компиляции выдает ошибку. Буду дальше искать пути решения
Есть, но это такие пляски с бубнами. Нужно создать ресурс, потом его с помощью тулзы преоразовать в cvs, перевести, снова в ресурс собрать (так написано в тутариале), а затем еще и перекомпилить! прогу.
У нас все через единсвенный xml файл работает
Можно. С бубнами. Танцами… Вокруг костра… Дело то в том, что ресурс — это же отдельная ддлина, вот ее то и надо скомпилировать. В общем то это старый метод из WinForms, но встроенной поддержки в впф нет. На мой взгляд пробелма заключается в том, что в модели WPF не каждый элемент формы должен иметь имя, а только тот, к которому вы обращаетесь из кода, а это уже сильно затрудняет связывание элемента с конкретной строкой из ресурса.
Поэтому метод с расширениями и был выбран.
Ну я привык оперировать понятиями, что с компьютерами нет ничего не возможного.
Со стороны работы со словарями — мы так и сделали, есть аддон к студии, который парсит код формы и делает нужные замены в нужных местах, создает файл переводов.
А вот что касается именно ран-тайма — то я не знаю как предложенный вами вариант работает в Qt, так что не могу ничего сказать.
Так, а как на счёт runtime? В wpf можно с помощью markupextentions сделать именно решение, которое бы «на лету» обновляло бы весь интерфейс при смене культуры.
Если Вы имеете ввиду satellite assembly, то они есть, но функции использования ресурсов в markup не предоставляется стандартными средствами dotNet. Можно делать wrapper над ресурсами, а можно это сделать предложенным выше подходом.
WPF Markup Extensions