Опубликован: 08.07.2011 | Доступ: свободный | Студентов: 1772 / 93 | Оценка: 4.15 / 4.08 | Длительность: 15:28:00
Самостоятельная работа 3:

Разработка бизнес приложения Silverlight

< Лекция 8 || Самостоятельная работа 3: 12345 || Дополнительный материал 1 >

Для редактирования XAML-описания отсоединенного проекта в контекстном меню выберите пункт Изменить EnterpriceBusinessApplication.csproj ( рис. 11.6).

Редактирование проекта

Рис. 11.6. Редактирование проекта

В XAML-описании проекта для элемента SupportedCultures добавьте код для культуры русского языка ru-RU.

<SupportedCultures>en-US,ru-RU</SupportedCultures>

После сохранения изменений перезагрузите проект ( рис. 11.7).

Перезагрузка проекта

Рис. 11.7. Перезагрузка проекта

Для клиентского проекта EnterpriceBusinessApplication скопируйте файл ресурса строк приложения ApplicationStrings.resx ( рис. 11.8а). Копию ресурса переименуйте в ApplicationStrings.ru-RU.resx ( рис. 11.8б).

Файл ресурса строк приложения

увеличить изображение
Рис. 11.8. Файл ресурса строк приложения

Двойным щелчком на файле ресурса ApplicationStrings.ru-RU.resx откройте окно для его редактирования. Исходное содержание файла ApplicationStrings.ru-RU.resx приведено на рис. 11.9.

Ресурс строк приложения с английскими значениями

увеличить изображение
Рис. 11.9. Ресурс строк приложения с английскими значениями

Для локализации приложения на русский язык измените значения строк русскими эквивалентами. На последующих этапах разработки приложения потребуются дополнительные строковые ресурсы, которые необходимо будет добавить с файл строковых ресурсов. На рис. 11.10 приведен файл ресурсов с русскими значениями строк.

Аналогичную последовательность действий по копированию, переименованию и переводу значений строк необходимо выполнить для файлов ресурсов клиентского приложения ErrorResources.resx и SecurityQuestions.resx, а также файлов RegistrationDataResources.resx и ValidationErrorResources.resx серверного проекта EnterpriceBusinessApplication.Web.csproj.

Для серверной части проекта необходимо внести изменения в файл EnterpriceBusinessApplicationTestPage.aspx, добавив в головной элемент XAML-описания атрибуты UICulture и Culture.

<%@ Page Language="C#" AutoEventWireup="true" UICulture="auto" Culture="auto"%>
Ресурс строк приложения с русскими значениями строк

увеличить изображение
Рис. 11.10. Ресурс строк приложения с русскими значениями строк

Сохраните измененный файл EnterpriceBusinessApplicationTestPage.aspx. Для настройки приложения на русский язык достаточно в свойствах Internet Explorer установить первым в списке языков русский язык ( рис. 11.11).

Установка языка для Internet Explorer

увеличить изображение
Рис. 11.11. Установка языка для Internet Explorer

После проведенный работ по локализации приложения главная страница будет иметь вид, приведенный на рис. 11.12, а страницы с авторизацией и регистрацией пользователя - на рис. 11.13, рис. 11.14.

Главная страница приложения

увеличить изображение
Рис. 11.12. Главная страница приложения
Авторизация пользователя

увеличить изображение
Рис. 11.13. Авторизация пользователя
Регистрация пользователя

увеличить изображение
Рис. 11.14. Регистрация пользователя
< Лекция 8 || Самостоятельная работа 3: 12345 || Дополнительный материал 1 >
Александр Петров
Александр Петров

При загрузке данных из БД возникает исключение InvalidOperationException с сообщением: Элемент коллекции должен быть пустым перед использованием ItemsSource. Знаю, что для заполнения DataGrid можно использовать коллекции Items или ItemsSource, но одновременно их использовать нельзя: если задано значение для свойства ItemsSource и в коде C# добавляется элемент в Items, возникает исключение. 
Вопрос, как отследить и отключить добавление элемента в Items?

Максим Спиридонов
Максим Спиридонов

В пятой лекции на второй странице в компиляторе выскакивает ошибка в строчке :

ObjectQuery<Employee> employees = DataEntitiesEmployee.Employees;

Ошибка CS0029

Не удается неявно преобразовать тип "System.Data.Entity.DbSet<WpfApplProject.Employee>" в "System.Data.Entity.Core.Objects.ObjectQuery<WpfApplProject.Employee>".

в using прописал все как положено, здесь похоже именно с преобразованием типов проблемы