Silverlight 图形旋转

[ 5185 / 1 / 1 ]

arcgis for silverlight 中 绘制点线面,实现点线面的旋转。实现。在资源样式里面可以定义一个动态的变量不,将角度值传进去。
<esriSymbols:MarkerSymbol x:Key="Wind" OffsetX="11.5" OffsetY="5" >
                <esriSymbols:MarkerSymbol.ControlTemplate >
                    <ControlTemplate>
                        <Grid RenderTransformOrigin="0.5,0.5" Width="19.4133" Height="13.0667">
                            <Grid.RenderTransform  >
                                <RotateTransform  x:Name="myScaleTransform" Angle="{Binding Name, Mode=TwoWay}" />
                            </Grid.RenderTransform>
                            <Canvas HorizontalAlignment="Left" VerticalAlignment="Top">
                                <Path  Stroke="Blue" StrokeThickness="3"  Data="F1 M0,25L0,25L0,0L13,-4"/>
                            </Canvas>
                        </Grid>
                    </ControlTemplate>
                </esriSymbols:MarkerSymbol.ControlTemplate>
            </esriSymbols:MarkerSymbol>
这样的值不知道传不传的进来。这种方法传到控件里面是可以的。但是这个里面始终传不进来,求指教,是不能传么。传值是这么写的
------------------------------------------------------------------------------------------------------------
  public MainPage()
        {
            InitializeComponent();
            user = new User();
            LayoutRoot.DataContext = user;           
            MyDrawObject = new Draw(map1)
            {
            };
            graphicsLayer = map1.Layers["GraphicsLayer"] as GraphicsLayer;
            _editGeometry = new EditGeometry()
            {
                Map = map1,
                IsEnabled = true,
                EditVerticesEnabled = true
            };
            MyDrawObject.DrawComplete += MyDrawObject_DrawComplete;
        }
-----------------------------------------------------------------------------------------------------------

    User user;
        public class User : INotifyPropertyChanged
        {
            public event PropertyChangedEventHandler PropertyChanged;
            private int _name;
            public int Name
            {
                get { return _name; }
                set
                {
                    _name = value;
                    OnPropertyChanged("Name");
                }
            }
            protected void OnPropertyChanged(string propertyName)
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }
--------------------------------------------------------------------------------------------------------------------
  private void MyDrawObject_DrawComplete(object sender, ESRI.ArcGIS.Client.DrawEventArgs args)
        {
            ESRI.ArcGIS.Client.Graphic graphic = new ESRI.ArcGIS.Client.Graphic()
            {
                Geometry = args.Geometry,
                Symbol = oldSymbol,
            };     
            graphicsLayer.Graphics.Add(graphic);
        }
----------------------------------------------------------------------------------------------------------------------
        private void DrawPoint_Click(object sender, RoutedEventArgs e)
        {
            //Binding binding = new System.Windows.Data.Binding("Name") { Mode = BindingMode.TwoWay };
            //textBox1.DataContext = user;
            //textBox1.SetBinding(TextBox.TextProperty, binding)
            user.Name = 30;
            MyDrawObject.DrawMode = DrawMode.Polyline;
            oldSymbol = LayoutRoot.Resources["CustomRedYellowLineSymbol"] as Symbol;
            user.Name =30;   
            MyDrawObject.IsEnabled = (MyDrawObject.DrawMode != DrawMode.None);
         
        }
-------------------------------------------------------------------------------------------------------------------------
还有 可以直接在后台定义一个角度给绘制的图形么。
TOP

z自己顶一个~~~ 求指教
TOP