0
有许多属性可以通过多种方式提供值。例如:XAML中某些属性值的严格vs方便的语法
- Style.TargetType: “NS:类型名” 与 “{X:类型NS:类型名}”
- Button.Command: “NS:TypeName.StaticPropertyName” 与“{X:静态纳秒:TypeName.StaticPropertyName}“
- 您可以将其命名。
问题是:是否有任何缺点,伴随着方便的语法?
有许多属性可以通过多种方式提供值。例如:XAML中某些属性值的严格vs方便的语法
问题是:是否有任何缺点,伴随着方便的语法?
我认为主要的缺点是,您可能有时使用相同的较短的语法属性不是特定的类型,因此不会发生自动转换。在意识到这是因为您的价值被视为string
之前,您可能会摸不清头脑。换句话说,这些方便的短手的翻译是上下文的。
这里是一个非常牵强的例子:
<Button Command="local:Command.ExitCommand" Tag="local:Command.ExitCommand">Exit</Button>
在这个例子中,Command
属性将正确解析ICommand
实例,但Tag
属性将被设置为文本“地方:Command.ExitCommand”。
因此,无论其需要如何,您都建议编写'{x:Type ...}','{x:Static}'等等。 枚举怎么样?你建议'可见的'或'{x:Static Visibility.Visible}'? – archimed7592 2009-11-08 14:35:45
我只是建议你意识到这个问题。速记版本的存在是有原因的 - 它没有它是乏味和冗长的。但只要意识到幕后发生了什么事情就可以实现。 – 2009-11-08 15:55:03