XAML:以下表示法之间的功能区别是什么?

时间:2009-12-23 08:20:15

标签: xaml properties notation

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:我认为转换器在使用前一种表示法时会投入使用,所以我想我的问题就变成了:它是一个性能问题,如果有的话,是否有任何基准测试?

1 个答案:

答案 0 :(得分:3)

这些都是等同的符号。第一个更短,因为WPF隐式使用值转换器来转换给定的字符串。第二个是显式的,更灵活的,更冗长的,但如果你需要设置一个复杂的值,你也可以在XAML中定义的最佳选择。

不应该是一个性能问题,除非你每秒拨打一百万次。