微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

silverlight学习笔记4 画图

      silverlight里画图形很方面。

      1,Graphicslayer图层相当于一个画布。

      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] 举报,一经查实,本站将立刻删除。

相关推荐