Pergunta

Eu estou trabalhando em alguns controles do Silverlight e eu gostaria de tratar explicitamente a forma como eles aparecem no Blend. Especificamente, esses controles têm dependências que são inicializadas em tempo de execução e, assim, lançar exceções no designer. Mas, mesmo na ausência de uma exceção, eu gostaria de fazê-los parecer uma certa maneira no Blend.

Eu sei que isso é possível com WPF (usando myassembly.VisualStudio.Design.dll), mas eu não tenho sido capaz de encontrar informações sobre como fazer isso com o Silverlight.

Eu vi o hack descrito aqui que os controlos faz isso:

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

Eu preferiria uma solução mais explícito embora.

Foi útil?

Solução

Há um posto extremamente detalhado em como lidar com extensibilidade tempo de design aqui . Lá você vai descobrir como fazer o Visual Studio e mistura de design coisas tempo para Silverlight.

fornecedores de controle e as pessoas que controles autor personalizados encontram-se frequentemente desejando que eles poderiam dar uma melhor experiência para seus controles personalizados. No entanto, há uma enorme falta de informação pública sobre este tema. E eu decidi corrigir esta situação com este pequeno artigo 50+ páginas.

Como eu disse, é muito tempo. :)

Outras dicas

O atributo específico para verificação é DesignerProperties:

using System.ComponentModel.DesignerProperties

if (DesignerProperties.GetIsInDesignMode(this))
{
}

onde this é um DependencyObject (qualquer elemento visual).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top