【问题标题】:XAML: What is the functional difference between the following notations?XAML:以下符号之间的功能区别是什么?
【发布时间】:2009-12-23 08:20:14
【问题描述】:

XAML: 以下符号的功能区别是什么?

我有什么理由不应该对属性使用第一种方法吗?

<Setter Property="Shape.Stroke" TargetName="circle" Value="#FF3C7FB1"/>

<Setter Property="Shape.Stroke" TargetName="arrow">
  <Setter.Value>
    <SolidColorBrush>#FF222222</SolidColorBrush>
  </Setter.Value>
</Setter>

所以我记得在声望足够高之后添加标签:

标签:展开

编辑 0:我正在使用默认模板来创建自定义控件,并注意到后一种布局是 Microsoft 的做法。这是为了加快解析速度还是只是按照惯例?

编辑 1:我认为转换器是在使用前一种表示法时投入使用的,所以我想我的问题是:这是性能问题吗?如果是,是否有任何基准?

【问题讨论】:

    标签: xaml properties notation


    【解决方案1】:

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

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

    【讨论】:

    • 感谢 Yacoder。因此,如果我在 MS 样式中看到它,它应该是按照惯例,并且它加倍/三倍 loc 的事实不是问题? TIA
    • 好吧,也许 XAML 是由 Expression 等工具生成的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2014-07-07
    • 2016-11-04
    • 2011-05-13
    • 2014-10-29
    相关资源
    最近更新 更多