如果您需要从后面的代码访问WPF控件,则需要在XAML中为其提供Name
属性。
在许多情况下,您不需要从后面的代码访问控件,因为很多编码逻辑(如绑定)更好地直接应用于XAML中。
我的问题是:不是否会为控件提供name属性?或者为页面上的所有控件命名是一个好习惯吗?
答案 0 :(得分:14)
是的,不提供“名称”属性肯定会带来性能提升。
WPF的“名称”机制可能很有用,但它以多种方式使用额外的RAM和CPU:
对于简单控件,向控件添加Name可以将使用该控件的成本提高5%左右。这不是很多,但为什么浪费你的CPU周期和你的RAM不必要的名字?
底线:如果对象上不需要名称,请不要命名。通常,控件的内容或绑定足以识别控件的用途。如果这还不够,那么您可以随时使用免费的XML注释。
我不得不说,为所有控件命名是一种非常糟糕的习惯,不仅仅是因为成本,还因为它鼓励您通过名称引用控件而不是使用适当的视图模型和绑定技术。我的大部分XAML都没有为任何控件使用“Name”,更不用说所有这些控件了。