2016-09-20 58 views
-3
Button btn = new Button(); 
btn.Name = "R-F"; // ArgumentException...not a valid value 

enter image description here强调不允许对控件的属性名称

btn.Name = "RF"; // OK 

为什么我不能命名与字符串包含下划线或连字符,而我可以命名一个类或者一个对象变量的控制?

+3

你不能用连字符命名一个类。 – Lloyd

+2

你应该清理你的问题,尽管你在一个句子中提到了连字符整个问题都是下划线,但是你使用了连字符或减号。 –

+2

这个问题只是错误的。您**可以**用**下划线命名按钮**,但您使用**连字符**,这是不允许的。请澄清你在这里要求的帮助。 –

回答

2

最可能的原因是该名称将用作XML中的标识符。

在任何情况下,limitiation显然对于FrameworkElement.Name文档读取在规定了:

用于名称的字符串值有一定的限制,所施加由底层X:名称指令由定义的XAML规范。最值得注意的是,名称必须以字母或下划线字符(_)开头,并且只能包含字母,数字或下划线。有关更多信息,请参阅WPF XAML Namescopes

因此,根据文件,下划线合法。 然而,连字号没有。

0

您不能在类/对象的名称中使用连字符。下划线很好。