Бизнес-приложения для Silverlight 3 и .NET RIA сервисов. Часть 1: Навигация перевод

Бизнес-приложения требуют наличия профессионалов, но кто из нас содержит на полную ставку дизайнера в своем штате? Думаю, немногие. Вот почему мы тратим много своих сил на создание мощного функционала работающего «из коробки». Проекты Silverlight Navigation Application и Silverlight Business Application(с поддержкой авторизации пользователей) начинаются с простой, предписывающей структурой приложения, приятным видом, который очень просто изменить, даже для разработчика.

File → New Project → Silverlight Business Applications

Жмем F5

Заметьте, это полноразмерное приложение. Внимание на навигационные ссылки (Home и About)

Заметили? Назад и Вперед прекрасно работают в браузере.

У нас есть глубокие ссылки, которые мы можем передать через email, IM, разместить в блоге и пользователь попадет в нужную точку приложения.

И нет разницы, какой браузер он использует…

Конечно, даже хорошие программисты порою делают ошибки: не существующие ссылки, необработанные исключения. Navigation Application Template облегчает решение этой проблемы. Попробуйте ввести неправильный URL.

А теперь давайте посмотрим на возможность настройки всего под себя.
Для начала создадим новую страницу.
Правой кнопкой по Views в проекте → Add New Item →Silverlight Page


Добавим свой текст.
<TextBlock Text="Hello World!"></TextBlock>

Свяжем эту страницу с главным навигационным меню. В MainPage.xaml, добавляем новую кнопку, соблюдая формат предыдущих кнопок.
<Rectangle Style="{StaticResource DividerStyle}"/>

<HyperlinkButton Style="{StaticResource LinkStyle}"
         NavigateUri="/MyFirstPage"
         TargetName="ContentFrame"
         Content="my page"/>

Пользуясь случаем, давайте внесем изменения в шаблон окна ошибки. Открываем Views\ErrorWindows.xaml. Вы можете изменять формат, отправить ошибку обратно на сервер или изменить текст ошибки, которое увидит пользователь.
<TextBlock x:Name="IntroductoryText" Grid.Row="0" Margin="0"
      Text="An unknown error was encountered. Please contact ScottGu anytime day or night (123) 332-9801 for more information."
      Width="398" TextWrapping="Wrap" HorizontalAlignment="Left"/>

Меняем заголовок в приложении. Заходим в MainPage.xaml, изменяем “Application Name” на любое нужное.
<TextBlock x:Name="IntroductoryText" Grid.Row="0" Margin="0"
      Text="An unknown error was encountered. Please contact ScottGu anytime day or night (123) 332-9801 for more information."
      Width="398" TextWrapping="Wrap" HorizontalAlignment="Left"/>

<TextBlock x:Name="ApplicationNameTextBlock" Style="{StaticResource ApplicationNameStyle}"
          Text="Super Employee Placement Service"/>

В заключении, давайте поменяем цвета, соответствующие с цветами вашей компании. Откройте Styles.xaml файл в папке Assets. Разработчику весьма просто изменять стили так, как они находятся в одном файле.

Нажимаем F5 и смотрим что получилось.


Я выбрал не самый удачный цвет, поэтому мы предлагаем множество шаблонов.
Aurora(так же доступна для RIA Services Template):

Frosted Cinnamon Toast:

Lime Shocker(так же доступна для RIA Services Template):

Pinky(так же доступна для RIA Services Template):

Retro

Skyline

Subdued

_________
Текст подготовлен в ХабраРедакторе
+7
19 августа 2009, 16:31
14
jeje 47,3

комментарии (8)

0
vittore #
спасибо, понравилась эта статья, а теперь еще и на русском))
+1
jeje #
Тут конечно, русского мало :) больше картинок. Предполагается перевести весь цикл статей.
0
vittore #
вот это будет полезно
а еще про Prism: Р
0
Dr_Zoidberg #
Интересно! Жду продолжений. Но что больше похоже не на реальные бизнес-приложение, а на страничку маленькой конторы или портфолио. Но это не сильно важно.
–1
jeje #
Согласен, темлейты так себе, но deep linking и т.п. вот, что самое интересно.
0
dotCypress #
Я уже для подружки пишу в свободное время маленькую CRM на .NET RIA :)
0
dzlk #
Успехов в начинаниях :)
У меня вопрос. В silverlight есть возможность управления журналом истории аналогичная той, что есть в WPF (можно полностью добавлять свои элементы в историю, например, пользователь нажал на checkbox, а в историю добавилось состояние до его нажатия)? Надеюсь понятен мой вопрос…
0
cdima #
Картинки маленькие — не заставляйте нас щелкать по картинке чтобы хоть что-либо разглядеть. Плюс перевод можно бы укоротить, имхо. В целом — спасибо большое.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.