XAML中某些属性值的严格vs方便语法

时间:2009-11-08 08:27:10

标签: wpf xaml

有许多属性可以通过多种方式为其提供值。例如:

  1. Style.TargetType:“ns:TypeName”vs“{x:Type ns:TypeName}”
  2. Button.Command:“ns:TypeName.StaticPropertyName”vs“{x:Static ns:TypeName.StaticPropertyName}”
  3. 你说出来。
  4. 问题是:是否有任何缺点伴随着方便的语法?

1 个答案:

答案 0 :(得分:1)

我认为主要的缺点是您有时可能会在特定类型较少的属性上使用相同的较短语法,因此不会发生自动转换。在意识到这是因为你的价值被视为string之前,你可能会搔脑一段时间。换句话说,这些方便的短手的翻译是语境。

这是一个非常人为的例子:

<Button Command="local:Command.ExitCommand" Tag="local:Command.ExitCommand">Exit</Button>

在此示例中,Command属性将正确解析ICommand实例,但Tag属性将设置为文本“local:Command.ExitCommand”。