Визуализация элементов управления Silverlight во время разработки в Expression Blend 2

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

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

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

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

Однако я бы предпочел более явное решение.


person Christopher Bennage    schedule 18.11.2008    source источник


Ответы (2)


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

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

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

person Bryant    schedule 18.11.2008

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

using System.ComponentModel.DesignerProperties

if (DesignerProperties.GetIsInDesignMode(this))
{
}

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

person Michael S. Scherotter    schedule 30.12.2008
comment
Спасибо - мне потребовалось много времени, чтобы задать правильный вопрос в Google, чтобы получить этот ответ ... ;-) - person Rashack; 19.08.2010