Визуализация элементов Silverlight во время разработки в Expression Blend 2 - PullRequest
2 голосов
/ 18 ноября 2008

Я работаю над некоторыми элементами управления Silverlight и хотел бы явно обработать способ их отображения в Blend. В частности, эти элементы управления имеют зависимости, которые инициализируются во время выполнения и, следовательно, генерируют исключения в конструкторе. Но даже в отсутствие исключения я бы хотел, чтобы они выглядели определенным образом в Blend.

Я знаю, что это возможно с WPF (используя myassembly.VisualStudio.Design.dll), но я не смог найти информацию о том, как это сделать с Silverlight.

Я видел хак, описанный здесь , который проверяет:

bool designTime = (System.Windows.Browser.HtmlPage.IsEnabled == false);

Я бы предпочел более явное решение.

Ответы [ 2 ]

4 голосов
/ 19 ноября 2008

На есть очень подробный пост о том, как справиться с возможностью расширения времени проектирования, здесь . Там вы узнаете, как создавать Visual Studio и Blend для разработки Silverlight.

Поставщики элементов управления и люди, которые занимаются разработкой пользовательских элементов управления, часто хотят, чтобы они могли улучшить работу своих пользовательских элементов управления. Тем не менее, существует огромная нехватка публичной информации по этой теме. И я решил исправить эту ситуацию с помощью этой короткой статьи на 50 страниц.

Как я уже сказал, это долго. :)

2 голосов
/ 30 декабря 2008

Определенный атрибут для проверки: DesignerProperties:

using System.ComponentModel.DesignerProperties

if (DesignerProperties.GetIsInDesignMode(this))
{
}

, где this - это DependencyObject (любой визуальный элемент).

...