我试图在构造函数中设置Page的Name属性:
public partial class PageListView : Page
{
public PageListView(string title)
{
InitializeComponent();
Name = title;
}
}但是,我经常会收到以下错误消息。
'x' is not a valid value for property 'Name'.在x似乎几乎是任何东西的地方,深入挖掘异常细节似乎无法提供任何有用的信息(例如,InnerException为null)。
有人知道这里发生了什么吗?
发布于 2011-03-24 00:19:46
Name属性通常遵循C#/VB.NET标识符(即字段)的规则。基于documentation
用于名称的字符串值有一些限制,这是由XAML规范定义的底层x:Name指令强加的。最值得注意的是,名称必须以字母或下划线字符(_)开头,并且必须只包含字母、数字或下划线。
根据您要传递的参数(即标题),您可能会违反该参数。但是你必须给出一些具体的例子来确定。
发布于 2011-03-24 00:25:15
当然,在发布这篇文章之后,我意识到了发生了什么。
因为FrameworkElement.Name用于创建对象引用,所以必须确保字符串仅包含对象实例变量名的有效字符。
改为使用标题或其他纯文本属性,除非您确实希望设置用于引用的x:Name属性。
https://stackoverflow.com/questions/5413191
复制相似问题