silverlight里画图形很方面。
2,要有2个元素:Geometry和Symbol。
下面是画线的例子:
Xaml代码:
<Grid x:Name="LayoutRoot" Background="White">
<Grid.Resources>
<esri:SimpleLinesymbol x:Key="DrawLinesymbol" Color="Green" Width="4"/>
<esri:SimpleFillSymbol x:Key="DrawFillSymbol" Fill="#3300ff00" BorderBrush="Green" BorderThickness="2"/>
<esri:SimpleLinesymbol x:Key="DefaultLinesymbol" Color="Red" Width="4"/>
<esri:SimpleFillSymbol x:Key="DefaultFillSymbol" Fill="#33ff0000" BorderBrush="Red" BorderThickness="2"/>
</Grid.Resources>
<esri:Map x:Name="MyMapDefault">
<esri:ArcGISTiledMapServiceLayer ID="ShadeRelief" Opacity="0.75"
Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/>
<esri:Graphicslayer x:Name="graphicslayer" ID="MyGraphicslayer"></esri:Graphicslayer>
</esri:Map>
</Grid>
Cs代码:
Draw MyDrawObject = new Draw();
private Symbol _activeSymbol = null;
public MainPage()
{
InitializeComponent();
MyDrawObject = new Draw(MyMapDefault)
{
Linesymbol=LayoutRoot.Resources["DrawLinesymbol"] as Linesymbol,
FillSymbol=LayoutRoot.Resources["DrawFillSymbol"] as FillSymbol
};
MyDrawObject.DrawComplete+=new EventHandler<DrawEventArgs>(MyDrawObject_DrawComplete);
MyDrawObject.DrawMode = DrawMode.polyline; _activeSymbol = LayoutRoot.Resources["DefaultLinesymbol"] as Symbol; MyDrawObject.IsEnabled = true; } private void MyDrawObject_DrawComplete(object sender,DrawEventArgs args) { Graphicslayer graphicslayer = MyMapDefault.Layers["MyGraphicslayer"] as Graphicslayer; Graphic graphic = new Graphic() { Geometry = args.Geometry, Symbol = _activeSymbol, }; graphicslayer.Graphics.Add(graphic); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。