【问题标题】:WPF Telerik Rad Map Polygon Data binding to Polygon Data within classWPF Telerik Rad Map Polygon Data 绑定到类内的多边形数据
【发布时间】:2020-02-17 15:53:40
【问题描述】:

我正在尝试使用嵌入在父类中的 PolygonData 类将多边形添加到 Telerik rad 地图。

public class PolygonClass
{
    public int ID { get; set; }
    public PolygonData Polygon { get; set; }
}

我正在尝试将我的 VisualizationLayer.ItemSource 绑定到“PolygonClass”中的“Polygon”属性,因为我需要在我的应用程序的其他各个位置引用一个 ID 值。我最近能够完成这项工作的唯一方法是绑定到 ObservableCollection 的属性。

有没有其他人遇到过这个问题并知道解决方案?提前致谢。

【问题讨论】:

  • 您能详细说明一下吗?您想将它绑定到您拥有的每个 PolygonClass 的 PolygonData 集合,但想跳过 Id?
  • 是的,所以可以创建一个 observablecollection 来绑定,但这不允许我为每个多边形类提供一个 ID 值。如果我删除 PolygonClass 并仅引用如下属性: public ObservableCollection Polygon { get;放;它将起作用 find 但我将无法引用多边形的 ID 值。

标签: wpf xaml telerik


【解决方案1】:

有几种方法可以满足您的要求。

您可以使用 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>

请注意,在这种情况下,您不需要 PolygonClass 中的 PolygonData,因为 MapPolygonView 会自动生成一个并添加到 VisualizationLayer 中。相反,您可以在 PolygonClass 中定义形状信息(如点和填充)并将数据绑定到这些信息。

【讨论】:

    猜你喜欢
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2019-11-10
    • 1970-01-01
    相关资源
    最近更新 更多