CheckBox.Name的有效属性

时间:2016-12-12 18:18:11

标签: c# wpf

我正在处理一项任务,它让我填充一个窗口(动态),并提供供用户选择的选项。我正在尝试命名Checkbox,我在运行时遇到错误:

'cbPS_Steel, Carbon - Schedule 40' is not a valid value for property 'Name'.

Name属性采用string值,但它没有将我传递给属性的值,即使它们是字符串。这可能是因为连字符或空格?

具体地:

Name的{​​{1}}属性是否被视为无效?任何信息或文章都会有所帮助。谢谢!

代码:

Checkbox

2 个答案:

答案 0 :(得分:3)

documentation on the FrameworkElement.Name property中对此进行了描述。它说:

  

用于Name的字符串值具有一些限制,这是由XAML规范定义的基础x:Name指令强加的。最值得注意的是,名称必须以字母或下划线字符(_)开头,并且必须仅包含字母,数字或下划线。有关更多信息,请参阅WPF XAML Namescopes。

话虽如此,它可能是子类Checkbox的一个更清晰的解决方案,并添加一个属性,可以帮助您将复选框分别指向该子类。

答案 1 :(得分:2)

Name属性允许您从后面的代码引用控件(例如在Xaml中使用时),因此它必须与变量名称具有相同的限制

变量名不能包含连字符和空格:)

编辑:查看评论,Name属性的限制较少。谢谢 @ O.R.Mapper

祝你好运!