在设置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只是直接从样本中复制的类。代码编译得很好,但实际的列表根本没有在设计器中显示(它只是不可见,但正确定位了边框轮廓)。反正有没有解决这个问题?这令人难以置信的刺激。
非常感谢。
答案 0 :(得分:0)
由于尝试将SelectedItem
的{{1}}属性设置为不是{{1}的数据绑定模型的当前成员的值,因此出现此错误属性。
可以通过用户选择,触发器或事件来设置属性。
在您的情况下,您使用LongListSelector
将设计时数数据设置为ItemsSource
,
您需要找出将d:DataContext
设置为无效值的人。
答案 1 :(得分:0)
我已经解决了这个问题。似乎IsDesignTimeCreatableSetting = true 表示设置列表内容的代码必须在编译时修复,如果它只能在运行时填充列表(我的那个),它显然不会显示在设计器中!