Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF用户控件命名约定问题_Wpf_Naming Conventions_User Controls - Fatal编程技术网

WPF用户控件命名约定问题

WPF用户控件命名约定问题,wpf,naming-conventions,user-controls,Wpf,Naming Conventions,User Controls,我正在创建一个包含许多元素的WPF用户控件。我需要和他们一起工作,我需要给他们起名字。我已经看到,在一些自定义控件中,人们以这种方式命名元素: 零件名称 我应该像PART_ListBox那样命名元素吗。。等或者这是为了什么? 是否要区分这些名称是UserControl的一部分 顺便说一句,我的类直接来自UserControl,而不是Control class MyControl: UserControl {} 这是用于模板/样式内部零件的Microsoft标准。这些部分是控件的本地部分,因此它

我正在创建一个包含许多元素的WPF用户控件。我需要和他们一起工作,我需要给他们起名字。我已经看到,在一些自定义控件中,人们以这种方式命名元素:

零件名称

我应该像PART_ListBox那样命名元素吗。。等或者这是为了什么? 是否要区分这些名称是UserControl的一部分

顺便说一句,我的类直接来自UserControl,而不是Control

class MyControl: UserControl {}

这是用于模板/样式内部零件的Microsoft标准。这些部分是控件的本地部分,因此它将取决于要命名的元素的范围

至于是否使用此标准,我的意见是,由于所有通用WPF/Silverlight控件模板/样式都使用此约定,因此我将遵循此约定,也根据我的经验,我喜欢零件命名约定,因为我发现本地元素在我的模板和样式中非常突出


希望有帮助。

只有在自定义控件模板中才需要部分约定。正如您所知,自定义控件在本质上通常是“无外观”的,因此开发该控件的开发人员可能需要假定该控件模板的所有自定义中都存在一些XAML控件。因此PART_uu是一种让执行XAML编辑(查看自定义控件)的人知道他们需要在新控件模板中保留PART_uuu命名的控件的方法,因为代码实际上依赖于这些控件


在您的例子中,它是UserControl(这意味着它实际上不是一个无外观的控件),因此您不需要在这里使用PART_uuu约定。

但这是否增加了为UserControl内外的控件赋予相同名称的机会?这对于UserControl内外的事物具有相同名称是很好的,这件事没有冲突“这件事没有冲突”是的我一直在想。。尽管如此,Jobi的论点也很好。Jobi是绝对正确的,这只适用于CustomControls。对不起,我没注意到你说的是用户控制。对于usercontrols,您应该遵循标准的命名约定,并且您应该只命名一个实际在较少位置引用的元素。