2008-12-02 43 views
0

如何強制在Visual Studio中編寫XAML的開發人員應該遵循特定的標準,並且需要運行驗證以及是否引發了無效的編譯時錯誤。如何爲XAML實現設計時驗證,導致編譯錯誤?

例如,確保所有數據綁定表達式(有些是真實長度)按照我希望在設計時實現的'自定義驗證'正確編寫。 像,

<TextBox Text="{Binding Source={StaticResource CALCULATED}, Converter={StaticResource XPathConverter}, [email protected]_STRING, [email protected]}"/> 

在上述樣品中,如果文本屬性的結合表達不在該格式,應該有一個編譯錯誤

有沒有辦法做到這一點?

回答

0

對不起,XAML語言服務也不能被延長這種方式。今天做這件事的最好方法是編寫一個構建任務。我認爲你可以將它掛接到MarkupCompilePass1DependsOn目標中,當用戶保存或更改XAML文件時,它將自動調用。您仍然需要從我們那裏冗餘地掃描文件,但是您不必等待實際構建才能使其工作。這是來自當前正在從事WPF設計人員的Microsoft建築師之一的直接引用。

2

沒有內置的方法來做到這一點。您將能夠獲得此結果的最佳方式是在輸入上運行自定義工具。這將需要你的大量工作,因爲它會涉及到你自己解析文件,但你應該能夠得到這個場景的工作。

示例網站創建自定義生成

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

+0

+1謝謝,但通過編寫xaml文件的自定義工具,我會將cs或其他類型的文件附加到它,我們要避免。由於編譯錯誤是如何指導錯誤的問題。不知道如何... – Vin 2008-12-03 18:36:12