C1VectorLayer には、データ連結をサポートする2つのプロパティがあります。
データ連結の例
City オブジェクトのコレクションがあるとします。
C# |
コードのコピー
|
---|---|
public class City { public Point LongLat { get; set; } public string Name { get; set; } } |
このテンプレートは、City クラスから C1VectorPlacemark を作成する方法を定義します。
XAML マークアップ |
コードのコピー
|
---|---|
<C1:C1Maps x:Name="maps" Foreground="LightGreen"> <C1:C1Maps.Resources> <!-- 項目テンプレート --> <DataTemplate x:Key="templPts"> <C1:C1VectorPlacemark GeoPoint="{Binding Path=LongLat}" Fill="LightGreen" Stroke="DarkGreen" Label="{Binding Path=Name}" LabelPosition="Top" > <C1:C1VectorPlacemark.Geometry> <EllipseGeometry RadiusX="2" RadiusY="2" /> </C1:C1VectorPlacemark.Geometry> </C1:C1VectorPlacemark> </DataTemplate> </C1:C1Maps.Resources> <C1:C1VectorLayer ItemsSource="{Binding}" ItemTemplate="{StaticResource templPts}" /> </C1:C1Maps> |
最後に、データソースとして実際のコレクションを使用する必要があります。
C# |
コードのコピー
|
---|---|
City[] cities = new City[] { new City(){ LongLat= new Point(30.32,59.93), Name="Saint Petersburg"}, new City(){ LongLat= new Point(24.94,60.17), Name="Helsinki"}, new City(){ LongLat= new Point(18.07,59.33), Name="Stockholm"}, new City(){ LongLat= new Point(10.75,59.91), Name="Oslo"}, new City(){ LongLat= new Point(12.58,55.67), Name="Copenhagen"} }; maps.DataContext = cities; |