快速入门可以帮助您顺利的创建与运行WPF及及Silverlight版版Maps,您将在Expression Blend中创建一个附有C1Maps控件的新项目,当控件被添加时,您就可以自定义它的外观并为它添加C1VectorLayer及C1VectorPlacemark,以及创建一个数据源,此时您可以对C1VectoPlacemark属性绑定数据源。在快速入门的最后,您将拥有一个包含一系列地标标签的全功能地图控件。
在这一步中,您将使用C1Maps控件在Expression Blend中创建一个WPF及及Silverlight应用程序,您也可以设置控件的属性。
完成如下步骤:
浏览并查找C1.WPF.Maps.dll或C1.Silverlight.Maps.5.dll为WPF版版Maps进行配置安装。
注意:注意: 所有.dll文件默认安装在C:\Program Files\ComponentOne\WPF Edition和C:\Program Files\ComponentOne\Silverlight Edition目录下。 |
a. 在菜单栏选择窗口窗口|资源资源,打开资源资源标签。 b. 资源资源标签下,在查找框中输入"C1Maps"。
设置Width属性为"405"。设置Height属性为"472"。
设置C1Maps.Zoom属性为"2", 此时缩放比例是原始的2倍。
设置C1Maps.Center属性为"-65, -25",此时只有南美洲出现在地图上。
在这一步中,您创建了一个Blend工程并且添加了一个C1Maps控件,此外您还为C1Maps控件设置了属性。
在这一步中您将创建一个类,类中包含Name和LongLat两个属性并封装到数组集合,此外您还需要为控件添加一个包含C1VectorPlacemark的C1VectorLayer,此时Name将与C1VectorPlacemark的标签属性绑定,LongLat与
C1VectorPlacemark的地理坐标属性绑定。
完成如下步骤:
Visual Basic |
Public Class City |
C# |
public class City |
在InitializeComponent()方法下添加下述代码来创建包含Name和LongLat属性的数组集合:
Visual Basic |
Dim cities() As City = |
New City(New Point(-77.03, -12.03), "Lima"),
New City(New Point(-57.40, -25.16), "Asuncion"),
New City(New Point(-74.05, 4.36), "Bogota"),
New City(New Point(-68.09, -16.30), "La Paz"),
New City(New Point(-58.10, 6.48), "Georgetown"),
New City(New Point(-55.10, 5.50), "Paramaribo"), New City(New Point(-56.11, -34.53),"Montevideo")
}
C1Maps.DataContext = cities
C# | |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8776d097-e2ca-4c82-88e7-0a56913478d8"><ac:plain-text-body><![CDATA[ | City[] cities = new City[] |
切换到XAML页面并修改<c1:C1Maps>标签,起始与终止标签如下所述:
XAML |
<c1:C1Maps x:Name="C1Maps1" FadeInTiles="False" Margin="0,0,235,8" |
将下述XAML标签置于<c1:C1Maps>与</c1:C1Maps>标签之间:
XAML |
<c1:C1Maps.Resources> |
<EllipseGeometry RadiusX="2" RadiusY="2" />
</c1:C1VectorPlacemark.Geometry>
</c1:C1VectorPlacemark>
</DataTemplate>
</c1:C1Maps.Resources>
<c1:C1VectorLayer ItemsSource="{Binding}"
ItemTemplate="{StaticResource templPts}" HorizontalAlignment="Right" Width="403"
/>
此XAML创建了一个数据模板,一个C1VectorPlacemark及一
个C1VectorLayer,C1VectorLayer的ItemsSource属性与完整的数据源绑定,当Laber属性被设置为Name属性的值时,C1VectorPlacemark的GeoPoint属性与LongLat属性值相绑定。当您运行项目时,Label和Name属性将封装并创建一系列地图上的地理标记。
在这一步中,您创建了一个数据源并将它与C1VectorPlacemark的属性相绑定,在下一步中,您将运行程序并预览其结果。
可以观察到有两个没有命名的点,一个在Buenos Aires附近,另一个在Georgetown附近。
恭喜您!您已经完成了WPF及及Silverlight版版Maps的快速入门,我们建议您访问C1Maps控件基础控件基础和WPF及及Silverlight 版版Maps任务帮助任务帮助来熟悉更多的内容。
本主题主要提供了一个使用XAML以完成不同任务的快速概要,了解更多信息,请参阅WPF及及Silverlight版版Maps任务帮任务帮助助。
项目模板项目模板
下述例子说明了如何使用项目模板
XAML |
<c1: x:Name="C1Maps1" FadeInTiles="False" Margin="0,0,235,8" TargetCenter="-65,-25" |
矢量层标记矢量层标记
下述例子说明了如何使用矢量层创建标记:
XAML |
<c1:C1Maps> |
矢量层矢量层—折线折线
下述例子说明了如何使用矢量层创建一个折线(开线):
XAML |
<c1:C1Maps> |
</c1:C1Maps>
矢量层矢量层—多边形多边形
下述例子说明了如何使用矢量层创建一个折线(用折线创建一个图形):
XAML |
<c1:C1Maps> |
主题化主题化
下述例子说明了如何在C1Maps控件上应用一个主题:
XAML |
<my:C1ThemeRainierOrange> |