|
|
1
4
这个
所以,原因是
但是,solidColorBrush没有名为name的属性,因此它只支持
|
|
|
2
1
XAML中实际上只有一个名称x:name。框架(如wpf)可以选择将其属性之一映射到xaml的x:name,方法是在类上使用runtimenamepropertyattribute,该属性将其中一个类属性指定为映射到xaml的x:name属性。 这样做的原因是允许框架在运行时已经有了“名称”的概念,比如wpf。例如,在WPF中,frameworkelement引入了name属性。 通常,类不需要存储x:name的名称即可使用。xaml的所有x:name意味着生成一个字段来将值存储在代码隐藏类中。运行时对该映射所做的操作依赖于框架。 那么,为什么有两种方法来做同样的事情呢?简单的答案是因为有两个概念映射到一个属性上。wpf希望在运行时保留元素的名称(可以通过bind等方式使用),而xaml需要知道您希望代码隐藏类中的字段能够访问哪些元素。wpf通过将name属性标记为x:name的别名将这两个属性联系在一起。 将来,xaml将对x:name有更多的用途,例如允许您通过按名称引用其他对象来设置属性,但在3.5及更高版本中,它仅用于创建字段。 你应该使用一个还是另一个确实是一个风格问题,而不是技术问题。我会把它留给别人推荐。 另请参见automationproperties.name与x:name、automationproperties.name由辅助工具和一些测试工具使用。 参考 In WPF, what are the differences between the x:Name and Name attributes? |
|
|
Ravi Panchal · 处理情节提要时,情节提要UI未更新 8 年前 |
|
|
Display Name · 单个情节提要上的所有视图控制器 8 年前 |
|
|
Xcoder · 如何摆脱或更改以编程方式创建的故事板 8 年前 |
|
|
Prabhav · iOS 11之前的前导或尾随水平对齐 8 年前 |
|
|
Ef Dot · Xcode 9情节提要窗口位置自动保存 8 年前 |
|
|
igolka97 · iOS TableView约束不起作用[重复] 9 年前 |