XAML标记的推荐控件命名约定是什么?


10

在使用WPF或Silverlight时,应该如何使用控件命名约定?您是否在XAML标记中命名控件?我在Codeplex上看到了带有控件名称(例如“ selectButton”或“ btnSelect”)的项目示例。你会推荐什么?


1
选择哪种方案-在整个应用程序中保持一致。
克里斯·弗雷德

Answers:


8

Microsoft 在其网站上发布准则。底线是匈牙利的命名约定已经出台。

编辑

为了更清楚地说明这一点,Microsoft从其所有命名约定(包括UI元素)中删除了匈牙利表示法。但是,MS尚未记录有关UI元素的任何建议。有很多链接可以记录下来并提供建议,但最重要的是,使用UI元素,您可以自己操作。示例链接

在我们的标准中,我们删除了匈牙利表示法,并使用显式命名,这意味着名为OK的按钮将命名为ButtonOK,名为Comments的文本块将为TextblockComments。缺点是名称可能会很长,而正面的一点是每个人都确切知道元素是什么。

只要您确定适合自己的方法并持续使用该标准,就不会出错。


2
这些是在库中命名成员的准则,而不是UI元素。
罗伯特·哈维

@Robert-好点。我没有注意到他们的指南排除了UI元素。我将编辑我的答案。
Walter 2010年

4

我通常不会在XAML中为控件命名,因为在大多数情况下,考虑到所有内容都是通过绑定设置或控制的,所以它们没有使用。资料来源:皮特·布朗


同一篇文章说,无论如何,您都必须命名所有数据输入元素(文本框,复选框,组合),因为它们将在其他地方(例如,数据存储区)被引用。chrome元素(线条,形状等)不必命名,而且XAML不会强迫您这么做。
罗伯特·哈维

@Robert Harvey:摘自文章:“交互式UI控件,例如TextBoxes,ListBoxes,Button等。如果使用命令/行为以及诸如MVVM之类的良好模式,则无需命名它们就可以逃脱,但是我发现命名对于文档的观点。无论如何不是必需的,而是有帮助的。” 当我使用MVVM时,不必将我的xaml传达给设计师进行混合工作,因此我没有发现此名称有任何用途。我的控件确实非常简单,这些名称提供的文档会显得过分杀伤力。但是我同意在更复杂的UI上可能会有所不同。
Matthieu 2010年

我使用MVVM,很少命名控件。通过上下文和VS设计器可以很明显地看出它们是什么。有时我会在XAML中发表评论。
M. Dudley

2

我不了解XAML,但是对于常规的旧ASP.NET,我所看到的约定是:

  1. 好匈牙利人(例如txtFirstName,ddlState,chkAcceptsTerms)
  2. 明确命名(例如TextFirstName,DropdownState,CheckAcceptsTerms)

老实说,不确定我更喜欢哪个。我曾经看过很多像#2一样的代码,但是却相反(例如FirstNameTex,StateDropdown,AcceptsTermsCheck),但是我喜欢另一种方式,因为它将相关控件组合在一起。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.