|
|
1
2
不应该有什么区别。我想你刚刚在XAML解析器中发现了一个bug。 框架对Setter、Trigger和Condition有特殊的处理。退房 Trigger.ReceiveTypeConverter 使用Reflector,它重写对值和属性的属性设置器的处理。我认为这是因为它可以基于属性用不同的类型解析Value属性。例如,当它看到属性是Foreground并且前景是Brush类型时,它将“Red”解析为一个笔刷,而不仅仅是一个字符串。 看起来钩子覆盖了触发器中名为Value或Property的所有属性集,但是它没有正确处理元素属性语法。要查看效果,请尝试创建如下标记扩展:
以下XAML将获得与第二个示例相同的错误,您可以通过设置断点来验证从未设置属性:
但是,这将起作用,因为属性未命名为“属性”:
这是可行的,因为它使用了属性语法:
|