0

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

目前,我刚刚复制了可以在此处找到的“LongList”示例,创建了一个看起来像在人民中心找到的列表的列表。在 XAML 的这一行调用错误:

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

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

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

非常感谢。

4

2 回答 2

0

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

于 2013-05-29T21:23:52.847 回答
0

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

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

在您的情况下,您正在设置设计时数据,使用d:DataContext, to PeopleViewModel.People
您需要找出谁在设置SelectedItem为无效值。

于 2013-05-29T20:34:34.437 回答