質問

Visual StudioでXAMLを作成する開発者が特定の標準に従う必要があり、検証を実行する必要があり、無効なコンパイル時エラーがスローされる場合に強制する方法。

たとえば、すべてのデータバインディング式(一部は非常に長い)が、設計時に実装する「カスタム検証」に従って正しく記述されるようにします。 のように、

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

上記のサンプルで、 Textプロパティのバインディング式がその形式ではない場合コンパイルエラーが発生するはずです。

これを行う方法はありますか

役に立ちましたか?

解決

申し訳ありませんが、XAML言語サービスもこの方法で拡張することはできません。今日これを行う最良の方法は、ビルドタスクを作成することです。 MarkupCompilePass1DependsOnターゲットにフックすると、ユーザーがXAMLファイルを保存または変更したときに自動的に呼び出されると思います。まだファイルを重複してスキャンする必要がありますが、実際のビルドが機能するまで待つ必要はありません。これは、現在WPFデザイナーに取り組んでいるMicrosoftアーキテクトの1人からの直接の引用です。

他のヒント

これを行うための組み込みの方法はありません。この結果を得るための最良の方法は、入力に対してカスタムツールを実行することです。ファイルを自分で解析する必要があるため、これには多くの作業が必要になりますが、このシナリオを機能させることができるはずです。

カスタムジェネレーターを作成するためのサンプルサイト

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top