Пример данных в выражении Blend в режиме разработки и оперативные данные при запуске приложения - PullRequest
2 голосов
/ 20 января 2011

У меня есть служба, которая возвращает наблюдаемую коллекцию людей, которая будет использоваться для отображения имени человека в списке в моем приложении Silverlight.

При разработке списка, дизайнер использовал образцы данных.Однако, когда xaml достигает разработчика, работающего над моделью представления и службой, которая возвращает наблюдаемую коллекцию лиц, которые должны быть отображены, необходимо внести некоторые изменения ... например, удалить все привязки к образцу данных, подключитьНаблюдаемая коллекция лиц, свойства.

Итак, мои вопросы: -

  1. Есть ли способ сделать это так, чтобы в режиме разработки он отображал пример данных, а при запуске - сервисные данные?
  2. Есть ли способ вернуть служебные данные в самом режиме разработки?
  3. Нужно ли разработчику, использующему Expression Blend, знать, с какими свойствами будет связана наблюдаемая коллекция {people}поле со списком?

Я бы хотел сделать это дружественным к MVVM способом (без использования инструментария MVVM Light).

Спасибо за ваше время ...

1 Ответ

1 голос
/ 20 января 2011

Множество хороших примеров:

http://blogs.msdn.com/b/avip/archive/2010/12/06/the-simplest-way-to-do-design-time-viewmodels-with-mvvm-and-blend.aspx

http://karlshifflett.wordpress.com/2009/10/28/ddesigninstance-ddesigndata-in-visual-studio-2010-beta2/

Это очень просто. Много других ресурсов на Google, если они вам нужны

Редактировать на основе комментария

2. Есть ли способ вернуть сервисные данные в самом режиме разработки?

Возможно, но я этого не видел. На мой взгляд, вы, вероятно, не захотите делать это по многим причинам.

  • Вы можете получить задержку до того, как ваши данные появляется, который мог бы получить довольно разочарование, если вам нужно сделать много мелких изменений.
  • Вы полагаетесь на доступно, которое собирается сделать вас еще более непродуктивным, если они когда-либо идти вниз.
  • У вас или дизайнера нет контроль над изменением того, что является отображается на разовой основе. В хотя бы используя образец системы данных Вы можете изменить значения для проверки различные сценарии без необходимости изменить данные об услугах.

3. Должен ли дизайнер, использующий Expression Blend, знать, какие свойства наблюдаемой коллекции {people} будут связаны со списком?

Рабочий процесс дизайнера / разработчика сложен. Очевидно, что каждый проект будет отличаться, но, только что закончив проект с тяжелым wpf-проектом, я могу вам сказать, что наши дизайнеры хотят как можно меньше иметь дело с Blend.

Рабочий процесс, который сработал для нас, предназначен для разработчиков (у нас есть внешняя команда, которая работает на уровне представления / модели представления и внутренняя команда, которая строит модель и уровень обслуживания), чтобы создать представления как можно лучше. Можно. Это означает создание макета, составление элементов управления, добавление большей части дизайна и подключение привязок. Затем у нас был дизайнер, у которого был опыт использования Blend (их не так много), которые вникали и настраивали дизайны, чтобы получить их именно так, как они хотели.

Таким образом, они не имели никакого отношения к основному бремени работы, и мы могли сохранять чистоту и организованность представлений (то, что мало кто из дизайнеров имел бы опыт). Дизайнеры не должны были ничего знать об объектах домена. Все это работало очень хорошо, как только мы выяснили, как это будет работать. По моему мнению, заставлять дизайнеров самим строить представления, было бы кошмаром ... и не то, что им бы понравилось.

...