Оформление прототипа в отдельный проект

95

Прорабатывая материал данного руководства, вы могли не раз убедиться в том, что при запуске в среде Expression Blend IDE прототипа приложения, созданного средствами SketchFlow, автоматически запускается и проигрыватель SketchFlow Player. Но что, если требуется предоставить прототип заказчику, у когорого отсутствует копия Expression Blend?

К счастью, имеется возможность создать по команде меню File --> Package SketchFlow Project автономный вариант данного проигрывателя, чтобы затем отправить его вместе с прототипом на просмотр заказчику:

Оформление прототипа в отдельный проект

После выбора упомянутой выше команды меню вам останется лишь указать место и имя автоматически формируемого проигрывателя. А поскольку у вас уже имеется прототип приложения, созданный средствами SketchFlow на платформе Silverlight, то с помощью данной команды будет в итоге сформирован следующий ряд файлов: файл разметки в формате HTML, файл двоичного кода в формате ХАР и файл веб-страницы в формате ASP.NET. Получив все эти файлы, заказчик может дважды щелкнуть на HTML-файле, чтобы просмотреть прототип в избранном браузере:

Ряд файлов, сформированных для  просмотра прототипа приложения в автономном режиме

Если бы вы оформляли в отдельный пакет прототип приложения, созданный средствами SketchFlow на платформе WPF, то в конечном итоге получили бы исполняемый файл с расширением *.ехе.

Собрав и задокументировав все отзывы клиента, а затем видоизменив соответственно прототип своего приложения и утвердив его у заказчика, можете преобразовать прототип, созданный средствами SketchFlow, в реальный проект на платформе Silverlight или WPF.

С этой целью сохраните, прежде всего, копию текущего прототипа, выбрав команду меню File --> Save Copy of Project. Работая далее с копией текущего прототипа, имейте в виду, что в среде Expression Blend IDE отсутствует возможность автоматического преобразования прототипа в рабочий вариант приложения. Элементы базового кода, имеющие непосредственное отношение к прототипу, вам придется вычленять вручную. Ниже поясняется, как это делается, а более подробно процедура преобразования прототипов приложений на платформах Silverlight и WPF в рабочий вариант исходного кода описывается в руководстве пользователя Expression Blend.

Процесс преобразования прототипа приложения на платформе WPF несколько отличается от аналогичного процесса на платформе Silverlight. За дополнительными сведениями по данному вопросу обращайтесь к разделу "Преобразование в рабочий вариант проекта" (Convert into a production project) руководства пользователя Expression Blend.

Видоизменение файлов с расширением *.csproj

Первая стадия процесса преобразования прототипа в рабочий вариант приложения состоит в том, чтобы видоизменить в текущем решении файл проекта с расширением *.csproj, в котором содержатся ссылки на файлы разметки (App.xaml) и исходного кода (App.xaml.cs) приложения. В рассматриваемом здесь примере проекта таким файлом является OnlineStoreApp.csproj. Откройте этот файл в обычном текстовом редакторе, например в WordPad, и удалите из него приведенные ниже элементы разметки в коде XML:

<ExpressionBlendPrototypeEnabled>
      True
</ExpressionBlendPrototypeEnabled>
<ExpressionBlendPrototypeHarness>
      True
</ExpressionBlendPrototypeHarness>

После этого сохраните и закройте данный файл проекта. Затем откройте в текущем решении файл вспомогательного проекта с расширением csproj, в котором содержутся ссылки на экраны прототипа (в данном примере это файл проекта OnlineStoreAppScreens.csproj). Найдите и удалите те же самые строки разметки в коде XML, а затем сохраните видоизмененный файл проекта.

Обновление ссылок на сборки в корневом проекте

Внеся упомянутые выше изменения в текущее решение, вернитесь к среде Expression Blend IDE и перейдите па вкладку Projects, чтобы удалить сборку Microsoft.Expression.Prototyping.Runtime.dll:

Удаление библиотеки рабочих программ SketchFlow

Затем выберите команду Projects Add Reference из главного меню, чтобы добавить ссылку на сборку System.Windows.Controls.Navigation.dll из платформы Silverlight 4.0.

Аналогичным образом удалите ссылку па сборку Microsoft.Expression.prototyping.Runtime.dll и добавьте ссылку на сборку System.Windows.Controls.Navigation.dll во вспомогательном проекте (напомним, что в данном примере это файл OnlineStoreAppScreens.csproj).

Откройте для редактирования файл исходного кода приложения App.xaml.cs. В самом начале этого файла перед объявлением типа класса вы обнаружите приведеный ниже атрибут уровня сборки. Закомментируйте весь этот атрибут:

[assembly: Microsoft.Expression.Prototyping.Services.SketchFlowLibraries("OnlineStoreApp.Screens")]

На данной стадии проигрыватель SketchFlow Player уже не применяется в проекте. Так, если вы запустите свое приложение Silverlight на выполнение, оно будет загружено в окно браузера подобно типичному ХАР-файлу. Единственная правка, которая может вам еще понадобиться, заключается в замене стилей SketchFlow на ваши собственные, но это вам придется сделать самостоятельно

Пройди тесты
Лучший чат для C# программистов