我正在尝试通过在父类中嵌入PolygonData类将多边形添加到telerik rad映射中。
public class PolygonClass
{
public int ID { get; set; }
public PolygonData Polygon { get; set; }
}
我试图将VisualizationLayer.ItemSource绑定到'PolygonClass'中的'Polygon'属性,因为我需要在我的应用程序的其他位置引用ID值。我最近能够完成这项工作的唯一方法是绑定到ObservableCollection的属性。
还有其他人遇到这个问题并且知道解决方案吗?预先感谢。
有几种方法可以满足您的要求。
您可以使用PolygonData对象填充VisualizaztionLayer(而不是ItemsSource)的Items集合。任何其他信息(如ID)都可以存储在PolygonData的ExtendedData属性中。
PolygonData polygon = new PolygonData();
polygon.ExtendedData["ID"] = 3;
或者您可以在VisualizationLayer的ItemTemplate属性内使用地图可绑定包装器。在您的情况下,应使用的包装器是MapPolygonView。
<telerik:VisualizationLayer.ItemTemplate>
<DataTemplate>
<telerik:MapPolygonView Points="{Binding Polygon.Points}" />
</DataTemplate>
</telerik:VisualizationLayer.ItemTemplate>