Layout cycle detected. Layout could not complete.
如题,在点击地图标记时候,会腾出如题的错误。
如下图:

问题出现在我使用Esri的InfoWindow模板的时候。
从提示信息中,可以看到跟Collection.ListDictionaryInternal有关。而InfoWindow当中,只有当赋值的时候,才会涉及到ListDictionary的问题。所以很有可能是赋值的过程出错了。通过调试分析发现,
KeyPrjInfoWindow.Content = graphic.Attributes;
从上面这一句当中可以看出,会出现问题,因为InfoWin的模板当中只涉及到两个字段“Name”“Content”,而Attributes当中有五个字段,反复的赋值之后,就会发生问题。
解决方法是仅仅使用有两个字段的字典给窗口赋值:
IDictionary<string, object> dictTemp = new Dictionary<string, object>(); dictTemp.Add(new KeyValuePair<string,object>("Name",graphic.Attributes["Name"])); dictTemp.Add(new KeyValuePair<string, object>("Content", graphic.Attributes["Name"])); KeyPrjInfoWindow.Content = dictTemp;
不过可笑的是问题还没有解决!求助大神!!!
经过高人指点,得知是字段名称命名太过特殊,不应该选用Content作为字段名称,Name最好也别用。更改之后,问题解决

浙公网安备 33010602011771号