Страница 1 из 1

Локализация в Silverlight

Добавлено: 14 мар 2013, 09:37
marku
Здравствуйте, возникли проблемы с локализацией Viewer'а в Silverlight веб-приложении. Файл 'ru.xml' находится в корне папки с проектом, свойство 'Build Action' установлено в 'EmbeddedResource'. Для локализации используется следующий код:

Код: Выделить всё

System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
StiConfig.LoadLocalization(asm, "ru.xml");
StiLocalization.Load(Stimulsoft.Report.StiConfig.Localizations[0]);
Во время выполнения во второй строке приведнного кода возникает исключение ArgumentNullException.
Версии: Silverlight 5, Stimulsoft Reports Ultimate 2012.3

Re: Локализация в Silverlight

Добавлено: 14 мар 2013, 11:04
Anton Lozovskiy
Здравствуйте,

Создайте в проекте в корне папку Localization и добавьте туда все нужные локализации.
Далее у контрола дизайнера/вьювера задайте свойство Localization="ru".

Спасибо.

Re: Локализация в Silverlight

Добавлено: 14 мар 2013, 11:35
marku
В проекте используется паттерн MVVM. И дело в том, что нет никаких интерфейсных элементов, связанных с контролом дизайнера/вьювера. В одной из xaml-форм проекта по нажатию кнопки "Печать" выполняется примерно следующее:

Код: Выделить всё

var rep = new StiReport();
rep.Load(MyReport);
rep.Render();
rep.RegBusinessObject("", "MyBusinessObject", MyData);
rep.Render();
rep.Show();
После этого веб-вьювер разворачивается на всю страницу.

Re: Локализация в Silverlight

Добавлено: 14 мар 2013, 12:23
HighAley
Здравствуйте.

Уточните, пожалуйста, в чём ваш вопрос.

Спасибо.

Re: Локализация в Silverlight

Добавлено: 14 мар 2013, 14:52
marku
В проекте просто нет такой .aspx страницы, которую вы прислали в примере.
Весь код, относящийся к отчету я показал в предыдущем сообщении.
Аналог кода из вашего примера я привел в первом сообщении, его я нашел на просторах интернета. Таким образом нельзя задать локализацию?

Re: Локализация в Silverlight

Добавлено: 14 мар 2013, 15:03
marku
Спасибо, проблема уже решена. Строчку:

Код: Выделить всё

StiConfig.LoadLocalization(asm, "ru.xml");
Надо изменить на:

Код: Выделить всё

StiConfig.LoadLocalization(asm, "ProjectName.Localization.ru.xml");

Re: Локализация в Silverlight

Добавлено: 14 мар 2013, 17:04
Anton Lozovskiy
Здравствуйте,

Не совсем понятно. Вы вызываете метод rep.Show(); Он выполняется на сервере ? Если да, то при чем тут сильверлайт, ведь тогда открывается вьювер WinForms. Или это сильверлайт приложение ? Не понятно как вы запускаете вьювере и что происходит. Возможно вы можете прислать простой пример проекта для анализа.

Спасибо.