Como implementar as validações de tempo de design para XAML, que resultam em erros de compilação?

StackOverflow https://stackoverflow.com/questions/335645

Pergunta

Como aplicar que os desenvolvedores que escrevem XAML no Visual Studio devem seguir certos padrões e validações precisam ser executados e se os erros de tempo de compilação inválidos forem lançados.

Por exemplo, certifique -se de que todas as expressões de banco de dados (algumas são realmente longas) estejam escritas corretamente, de acordo com a 'Validação personalizada', gostaria de implementar, durante o tempo de design. Curti,

<TextBox Text="{Binding Source={StaticResource CALCULATED}, Converter={StaticResource XPathConverter}, ConverterParameter=@FIRSTNAME_STRING, XPath=@FIRSTNAME}"/>

Na amostra acima se o A expressão de ligação na propriedade de texto não está nesse formato, deve haver um Erro de compilação.

Existe uma maneira de fazer isso?

Foi útil?

Solução

Desculpe, o serviço de idioma XAML também não pode ser estendido dessa maneira. A melhor maneira de fazer isso hoje é criar uma tarefa de construção. Eu acho que você pode conectá -lo ao alvo MarkupCompilePass1Dependson e ele será invocado automaticamente quando o usuário salva ou altera um arquivo XAML. Você ainda precisa digitalizar o arquivo de forma redundante, mas não precisa esperar uma compilação real para fazer isso funcionar. Esta é uma cotação direta de um dos arquitetos da Microsoft que atualmente está trabalhando nos designers do WPF.

Outras dicas

Não há uma maneira interna de fazer isso. A melhor maneira de obter esse resultado é executar uma ferramenta personalizada na entrada. Isso exigirá muito trabalho de perna de sua parte, pois envolverá a análise do arquivo, mas você poderá fazer esse cenário funcionar.

Site de exemplo para criar um gerador personalizado

http://www.drewnoakes.com/snippets/writingacustomcodegeneratortoolforvisualstudio/

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