XAML:以下符号之间的功能差异是什么?
有什么理由我不应该使用第一种方法来处理属性吗?
<Setter Property="Shape.Stroke" TargetName="circle" Value="#FF3C7FB1"/>
<Setter Property="Shape.Stroke" TargetName="arrow">
<Setter.Value>
<SolidColorBrush>#FF222222</SolidColorBrush>
</Setter.Value>
</Setter>
所以我记得在声誉足够高之后添加标签:
标签:扩展
编辑0:我使用默认模板来创建自定义控件,并注意到后一种布局是微软的做法。这是为了加快解析还是仅仅按惯例?
编辑1:我认为转换器在使用前一种表示法时会投入使用,所以我想我的问题就变成了:它是一个性能问题,如果有的话,是否有任何基准测试?
答案 0 :(得分:3)
这些都是等同的符号。第一个更短,因为WPF隐式使用值转换器来转换给定的字符串。第二个是显式的,更灵活的,更冗长的,但如果你需要设置一个复杂的值,你也可以在XAML中定义的最佳选择。
不应该是一个性能问题,除非你每秒拨打一百万次。