2

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:我收集到转换器在使用前一种表示法时投入使用,所以我想我的问题是:这是否是性能问题,如果是,是否有任何基准?

4

1 回答 1

3

这些实际上是等效的符号。第一个更短,因为 WPF 隐式使用值转换器来转换给定的字符串。第二个是明确的、更灵活的、更详细的,但如果您需要设置一个在 XAML 中定义的复杂值,它可能是最佳选择。

不应该是性能问题,除非您每秒调用 setter 百万次。

于 2009-12-26T17:04:17.350 回答