Windows Phone 8 LayoutRoot DataContext"参数必须是有效索引"错误

时间:2013-05-29 19:32:15

标签: c# visual-studio xaml windows-phone-8 intellisense

在设置LayoutRoot网格的DataContext时,Visual Studio 2012中的XAML设计器似乎给出了错误的错误。

目前我刚刚复制了可以找到的“LongList”示例here创建了一个类似于人员中心列表的列表。在XAML的这一行上调用了错误:

<Grid x:Name="LayoutRoot" d:DataContext="{d:DesignInstance Type=ViewModels:PeopleViewModel, IsDesignTimeCreatable=true}">

整个DataContext属性用蓝色加下划线,带有Intellisense错误“此参数必须是数组中的有效索引。参数名称:index”

PeopleViewModel只是直接从样本中复制的类。代码编译得很好,但实际的列表根本没有在设计器中显示(它只是不可见,但正确定位了边框轮廓)。反正有没有解决这个问题?这令人难以置信的刺激。

非常感谢。

2 个答案:

答案 0 :(得分:0)

由于尝试将SelectedItem的{​​{1}}属性设置为不是{{1}的数据绑定模型的当前成员的值,因此出现此错误属性。

可以通过用户选择,触发器或事件来设置属性。

在您的情况下,您使用LongListSelector将设计时数数据设置为ItemsSource
您需要找出将d:DataContext设置为无效值的人。

答案 1 :(得分:0)

我已经解决了这个问题。似乎IsDesignTimeCreatableSetting = true 表示设置列表内容的代码必须在编译时修复,如果它只能在运行时填充列表(我的那个),它显然不会显示在设计器中!