Wpf FrameworkElement.名称问题
我试图在构造函数中设置页面的Name属性:Wpf FrameworkElement.名称问题,wpf,string,properties,frameworkelement,Wpf,String,Properties,Frameworkelement,我试图在构造函数中设置页面的Name属性: public partial class PageListView : Page { public PageListView(string title) { InitializeComponent(); Name = title; } } 但是,我通常会收到以下错误消息 'x' is not a valid value for property 'Name'. 如果x几乎是任何东西,深入查看异
public partial class PageListView : Page
{
public PageListView(string title)
{
InitializeComponent();
Name = title;
}
}
但是,我通常会收到以下错误消息
'x' is not a valid value for property 'Name'.
如果x
几乎是任何东西,深入查看异常详细信息似乎不会提供任何有用的信息(例如,InnerException为null)
有人知道这里发生了什么吗?Name属性通常遵循C#/VB.NET标识符(即字段)的规则。根据: 用于Name的字符串值有一些限制,如 XAML规范定义的底层x:Name指令。 最值得注意的是,名称必须以字母或下划线字符开头 ()),并且只能包含字母、数字或下划线
根据您正在传递的参数(即标题),您可能会违反该规则。但是你必须给出一些具体的例子来确定。当然,在发布这篇文章之后,我意识到发生了什么 由于FrameworkElement.Name用于创建对象引用,因此必须确保字符串仅包含对象实例变量名的有效字符
请改用Title或其他纯文本属性,除非您真的想设置引用的
x:Name
属性。是的,我一发布就意识到:)