Maps for WPF/Silverlight
データ連結
Maps の使い方 > ベクターレイヤ > データ連結

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;
関連トピック