Я работаю без наложения выражений и просто использую редактор XAML в vs2010. Помимо мудрости этого, я все чаще вижу потребность в привязке данных во время разработки. В простых случаях FallbackValue
свойство работает очень хорошо (текстовые поля, текстовые блоки и т. Д.). Но особенно при работе с ItemsControl
и т.п. действительно нужны образцы данных, которые будут видны в дизайнере, чтобы вы могли настраивать и настраивать элементы управления и шаблоны данных без необходимости запускать исполняемый файл.
Я знаю, что это ObjectDataProvider
позволяет привязать к типу и, таким образом, может предоставлять данные времени разработки для визуализации, но тогда есть некоторая манипуляция, позволяющая привязать реальные данные времени выполнения без потери ресурсов путем загрузки загрузки как времени разработки, так и времени разработки, фиктивные данные и привязки времени выполнения.
На самом деле я хочу иметь возможность, скажем, «Джон», «Пол», «Джордж» и «Ринго» отображаться в конструкторе XAML как стилизованные элементы в моем ItemsControl
, но чтобы реальные данные отображались, когда приложение бежит.
Я также знаю, что Blend позволяет использовать некоторые причудливые атрибуты, которые определяют данные привязки времени разработки, которые WPF эффективно игнорирует в условиях выполнения.
Итак, мои вопросы:
1. Как можно использовать привязки коллекций и нетривиальных данных во время разработки в конструкторе XAML Visual Studio, а затем плавно переключиться на привязки времени выполнения?
2. Как другие решили эту проблему данных во время разработки и во время выполнения? В моем случае я не могу легко использовать одни и те же данные для обоих (как можно было бы, скажем, с запросом к базе данных).
3. Могу ли я использовать их альтернативы смеси выражений для проектирования XAML с интегрированными данными? (Я знаю, что есть несколько альтернатив, но мне конкретно нужно что-то, что я могу использовать, чтобы увидеть связанные образцы данных и т. Д.?)
d:DataContext
вы можете найти помощь в этом вопросе: stackoverflow.com/questions/8303803/…