diff --git a/GisDevelop_Exp/OptionsWindow.xaml b/GisDevelop_Exp/OptionsWindow.xaml
new file mode 100644
index 0000000..2da5c67
--- /dev/null
+++ b/GisDevelop_Exp/OptionsWindow.xaml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GisDevelop_Exp/OptionsWindow.xaml.cs b/GisDevelop_Exp/OptionsWindow.xaml.cs
new file mode 100644
index 0000000..07d1bd1
--- /dev/null
+++ b/GisDevelop_Exp/OptionsWindow.xaml.cs
@@ -0,0 +1,208 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using Esri.ArcGISRuntime.Symbology;
+
+namespace GisDevelop_Exp
+{
+ ///
+ /// Interaction logic for OptionsWindow.xaml
+ ///
+ public partial class OptionsWindow : Window
+ {
+ private SimpleMarkerSymbol pointSymbol;
+ private System.Drawing.Color pointColor;
+ private double pointSize;
+ private SimpleMarkerSymbolStyle pointStyle;
+
+ private SimpleLineSymbol lineSymbol;
+ private System.Drawing.Color lineColor;
+ private double lineSize;
+ private SimpleLineSymbolStyle lineStyle;
+
+ private SimpleFillSymbol fillSymbol;
+ private SimpleLineSymbol outlineSymbol;
+
+ private System.Drawing.Color fillColor;
+ private SimpleFillSymbolStyle fillStyle;
+
+ private System.Drawing.Color outlineColor;
+ private SimpleLineSymbolStyle outlineStyle;
+ private double outlineSize;
+
+ public OptionsWindow()
+ {
+ InitializeComponent();
+ }
+
+ public SimpleMarkerSymbol PointSymbol
+ {
+ get { return pointSymbol; }
+ set { pointSymbol = value; }
+ }
+
+ public SimpleLineSymbol LineSymbol
+ {
+ get { return lineSymbol; }
+ set { lineSymbol = value; }
+ }
+
+ public SimpleFillSymbol FillSymbol
+ {
+ get { return fillSymbol; }
+ set { fillSymbol = value; }
+ }
+
+ private void Window_Loaded(object sender, RoutedEventArgs e)
+ {
+ if (pointSymbol != null)
+ {
+ pointColor=pointSymbol.Color;
+ pointStyle=pointSymbol.Style;
+ pointSize=pointSymbol.Size;
+ }
+
+ if (lineSymbol != null)
+ {
+ lineColor=lineSymbol.Color;
+ lineStyle=lineSymbol.Style;
+ lineSize=lineSymbol.Width;
+ }
+
+ if (fillSymbol != null)
+ {
+ fillColor = fillSymbol.Color;
+ fillStyle=fillSymbol.Style;
+
+ if (fillSymbol.Outline != null)
+ {
+ outlineSymbol=(SimpleLineSymbol)fillSymbol.Outline;
+ Checkbox_Border.IsChecked = true;
+ Checkbox_Border.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ outlineSymbol = null;
+ Checkbox_Border.IsChecked = false;
+ Checkbox_Border.Visibility = Visibility.Collapsed;
+ }
+ }
+ }
+
+ private void Point_Tab_OnLoaded(object sender, RoutedEventArgs e)
+ {
+ switch (pointStyle)
+ {
+ case SimpleMarkerSymbolStyle.Circle:
+ Radio_Point_Circle.IsChecked = true;
+ break;
+ case SimpleMarkerSymbolStyle.Cross:
+ Radio_Point_Cross.IsChecked = true;
+ break;
+ case SimpleMarkerSymbolStyle.Diamond:
+ Radio_Point_Diamond.IsChecked = true;
+ break;
+ case SimpleMarkerSymbolStyle.Square:
+ Radio_Point_Square.IsChecked = true;
+ break;
+ case SimpleMarkerSymbolStyle.Triangle:
+ Radio_Point_Triangle.IsChecked = true;
+ break;
+ case SimpleMarkerSymbolStyle.X:
+ Radio_Point_X.IsChecked = true;
+ break;
+ }
+ Slider_Point_Size.Value=pointSize;
+ System.Windows.Media.Color color = System.Windows.Media.Color.FromArgb(pointColor.A, pointColor.R, pointColor.G, pointColor.B);
+ Label_Color.Background = new SolidColorBrush(color);
+ int v = Convert.ToInt32(Slider_Point_Size.Value);
+ Label_Point_Size.Content = "大小:" + v.ToString();
+ }
+
+ private void Radio_Point_Circle_OnChecked(object sender, RoutedEventArgs e)
+ {
+ pointStyle = SimpleMarkerSymbolStyle.Circle;
+ }
+
+ private void Radio_Point_Cross_OnChecked(object sender, RoutedEventArgs e)
+ {
+ pointStyle = SimpleMarkerSymbolStyle.Cross;
+ }
+
+
+ private void Radio_Point_Diamond_OnChecked(object sender, RoutedEventArgs e)
+ {
+ pointStyle = SimpleMarkerSymbolStyle.Diamond;
+ }
+
+
+ private void Radio_Point_Square_OnChecked(object sender, RoutedEventArgs e)
+ {
+ pointStyle = SimpleMarkerSymbolStyle.Square;
+ }
+
+
+ private void Radio_Point_X_OnChecked(object sender, RoutedEventArgs e)
+ {
+ pointStyle = SimpleMarkerSymbolStyle.X;
+ }
+
+
+ private void Radio_Point_Triangle_OnChecked(object sender, RoutedEventArgs e)
+ {
+ pointStyle = SimpleMarkerSymbolStyle.Triangle;
+ }
+
+
+ private void Slider_Point_Size_OnValueChanged(object sender, RoutedPropertyChangedEventArgs e)
+ {
+ double v = e.NewValue;
+ Label_Point_Size.Content = "大小:"+v.ToString();
+ pointSize = v;
+ }
+
+
+ private void Control_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
+ {
+ System.Windows.Forms.ColorDialog colorDialog = new System.Windows.Forms.ColorDialog();
+ SolidColorBrush colorBrush = (SolidColorBrush)Label_Color.Background;
+ colorDialog.Color = System.Drawing.Color.FromArgb(colorBrush.Color.A, colorBrush.Color.R, colorBrush.Color.G, colorBrush.Color.B);
+ if (colorDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ pointColor = colorDialog.Color;
+ System.Windows.Media.Color color = System.Windows.Media.Color.FromArgb(pointColor.A, pointColor.R, pointColor.G, pointColor.B);
+ Label_Color.Background = new SolidColorBrush(color);
+ }
+ }
+
+
+ private void Btn_Point_Confirm_OnClick(object sender, RoutedEventArgs e)
+ {
+ this.DialogResult = true;
+ }
+
+
+ private void Btn_Point_Apply_OnClick(object sender, RoutedEventArgs e)
+ {
+ PointSymbol.Color = pointColor;
+ PointSymbol.Style = pointStyle;
+ PointSymbol.Size = pointSize;
+ }
+
+
+ private void Btn_Point_Cancel_OnClick(object sender, RoutedEventArgs e)
+ {
+ this.DialogResult = false;
+ }
+ }
+}
diff --git a/GisDevelop_Exp/image/FDialog2.png b/GisDevelop_Exp/image/FDialog2.png
new file mode 100644
index 0000000..ebccb46
Binary files /dev/null and b/GisDevelop_Exp/image/FDialog2.png differ
diff --git a/GisDevelop_Exp/image/FHori.png b/GisDevelop_Exp/image/FHori.png
new file mode 100644
index 0000000..10f5795
Binary files /dev/null and b/GisDevelop_Exp/image/FHori.png differ
diff --git a/GisDevelop_Exp/image/FNo.png b/GisDevelop_Exp/image/FNo.png
new file mode 100644
index 0000000..53c3ae9
Binary files /dev/null and b/GisDevelop_Exp/image/FNo.png differ
diff --git a/GisDevelop_Exp/image/FSolid.png b/GisDevelop_Exp/image/FSolid.png
new file mode 100644
index 0000000..861f92f
Binary files /dev/null and b/GisDevelop_Exp/image/FSolid.png differ
diff --git a/GisDevelop_Exp/image/FVer.png b/GisDevelop_Exp/image/FVer.png
new file mode 100644
index 0000000..ef750f7
Binary files /dev/null and b/GisDevelop_Exp/image/FVer.png differ
diff --git a/GisDevelop_Exp/image/FVerHori.png b/GisDevelop_Exp/image/FVerHori.png
new file mode 100644
index 0000000..faa59ad
Binary files /dev/null and b/GisDevelop_Exp/image/FVerHori.png differ
diff --git a/GisDevelop_Exp/image/FXie.png b/GisDevelop_Exp/image/FXie.png
new file mode 100644
index 0000000..3c74bf5
Binary files /dev/null and b/GisDevelop_Exp/image/FXie.png differ
diff --git a/GisDevelop_Exp/image/FXie2.png b/GisDevelop_Exp/image/FXie2.png
new file mode 100644
index 0000000..dd34820
Binary files /dev/null and b/GisDevelop_Exp/image/FXie2.png differ
diff --git a/GisDevelop_Exp/image/LDash.png b/GisDevelop_Exp/image/LDash.png
new file mode 100644
index 0000000..6e2e9f9
Binary files /dev/null and b/GisDevelop_Exp/image/LDash.png differ
diff --git a/GisDevelop_Exp/image/LDashDot.png b/GisDevelop_Exp/image/LDashDot.png
new file mode 100644
index 0000000..07625f1
Binary files /dev/null and b/GisDevelop_Exp/image/LDashDot.png differ
diff --git a/GisDevelop_Exp/image/LDashDotDot.png b/GisDevelop_Exp/image/LDashDotDot.png
new file mode 100644
index 0000000..60d933a
Binary files /dev/null and b/GisDevelop_Exp/image/LDashDotDot.png differ
diff --git a/GisDevelop_Exp/image/LDot.png b/GisDevelop_Exp/image/LDot.png
new file mode 100644
index 0000000..6646e6a
Binary files /dev/null and b/GisDevelop_Exp/image/LDot.png differ
diff --git a/GisDevelop_Exp/image/LSolid.png b/GisDevelop_Exp/image/LSolid.png
new file mode 100644
index 0000000..993f9e9
Binary files /dev/null and b/GisDevelop_Exp/image/LSolid.png differ