WPF Telerik Rad Map Привязка данных Polygon к данным Polygon внутри класса - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь добавить полигоны в карту telerik rad с помощью класса PolygonData, встроенного в родительский класс.

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

Я пытаюсь привязать свой VisualizationLayer.ItemSource к свойству 'Polygon' внутри «PolygonClass», потому что мне нужно ссылаться на значение идентификатора в других местах моего приложения. Единственный способ, которым я недавно смог выполнить эту работу, - это привязать свойство ObservableCollection.

Кто-нибудь еще сталкивался с этим и знает о решении? Заранее спасибо.

1 Ответ

0 голосов
/ 18 февраля 2020

Есть несколько способов выполнить ваше требование.

Вы можете заполнить коллекцию Items VisualizaztionLayer (вместо ItemsSource) объектами PolygonData. Любая дополнительная информация, например идентификатор, может храниться в свойстве ExtendedData объекта PolygonData.

PolygonData polygon = new PolygonData();
polygon.ExtendedData["ID"] = 3;

Или вы можете использовать привязываемые к карте оболочки в свойстве ItemTemplate объекта VisualizationLayer. В вашем случае следует использовать оболочку MapPolygonView.

<telerik:VisualizationLayer.ItemTemplate>
    <DataTemplate>
        <telerik:MapPolygonView Points="{Binding Polygon.Points}" />
    </DataTemplate>
</telerik:VisualizationLayer.ItemTemplate>

Обратите внимание, что в этом случае вам не понадобятся PolygonData в вашем PolygonClass, потому что MapPolygonView автоматически сгенерирует их и добавит в VisualizationLayer. , Вместо этого вы можете определить информацию о форме (например, точки и заливки) в PolygonClass и привязать данные к ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...