0

如何强制在 Visual Studio 中编写 XAML 的开发人员应遵循某些标准,并且需要运行验证以及是否引发了无效的编译时错误。

例如,确保在设计期间按照我希望实现的“自定义验证”正确编写所有数据绑定表达式(有些很长)。像,

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

在上面的示例中,如果Text 属性中的绑定表达式不是该格式,则应该存在编译错误

有没有办法做到这一点?

4

2 回答 2

2

没有内置的方法可以做到这一点。获得此结果的最佳方法是在输入上运行自定义工具。这将需要您做大量的工作,因为这将涉及自己解析文件,但您应该能够让这个场景工作。

创建自定义生成器的示例站点

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

于 2008-12-03T08:07:26.167 回答
0

抱歉,XAML 语言服务也不能以这种方式扩展。今天最好的方法是编写一个构建任务。我认为您可以将其挂接到 MarkupCompilePass1DependsOn 目标中,并且在用户保存或更改 XAML 文件时会自动调用它。您仍然需要从我们这里冗余地扫描文件,但您不必等待实际构建来完成这项工作。这是目前正在从事 WPF 设计的 Microsoft 架构师之一的直接引用。

于 2008-12-17T23:07:37.687 回答