|
|
|
|
using ESRI.ArcGIS.Carto;
|
|
|
|
|
using ESRI.ArcGIS.Geometry;
|
|
|
|
|
//using Kingo.Plugin.EngineEditor.ViewModel;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Windows;
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
using System.Windows.Media;
|
|
|
|
|
|
|
|
|
|
namespace Kingo.Plugin.EngineEditor.View
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// FrmInterData2.xaml 的交互逻辑
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class FrmInterData2 : Window
|
|
|
|
|
{
|
|
|
|
|
private IFeatureLayer _featureLayer;
|
|
|
|
|
private IGeometry _geometry;
|
|
|
|
|
SolidColorBrush foregroundColor = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF6C8FD6"));
|
|
|
|
|
SolidColorBrush lableColor = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFFFFFFF"));
|
|
|
|
|
public Dictionary<string, string> Dic { get; set; }
|
|
|
|
|
public FrmInterData2()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
public IGeometry Geometry
|
|
|
|
|
{
|
|
|
|
|
get => _geometry;
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
_geometry = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void DataInfStyle(Dictionary<string, System.Data.DataTable> Keys)
|
|
|
|
|
{
|
|
|
|
|
spResult.Children.Clear();
|
|
|
|
|
DataTable data = Keys["图斑压盖"];
|
|
|
|
|
int i = 1;
|
|
|
|
|
Border border = new Border();
|
|
|
|
|
border.BorderBrush = Brushes.AliceBlue;
|
|
|
|
|
border.BorderThickness = new Thickness(1,1,1,1);
|
|
|
|
|
border.Margin = new Thickness(10,0,10,10);
|
|
|
|
|
Border Checkborder = new Border();
|
|
|
|
|
Checkborder.BorderBrush = Brushes.AliceBlue;
|
|
|
|
|
Checkborder.BorderThickness = new Thickness(1, 1, 1, 1);
|
|
|
|
|
Checkborder.Margin = new Thickness(10, 0, 10, 10);
|
|
|
|
|
Grid GeoOverInfor = new Grid();
|
|
|
|
|
Grid CheckContext = new Grid();
|
|
|
|
|
GeoOverInfor.Children.Clear();
|
|
|
|
|
CheckContext.Children.Clear();
|
|
|
|
|
if (GeoOverInfor.RowDefinitions.Count > 1)
|
|
|
|
|
GeoOverInfor.RowDefinitions.RemoveRange(1, GeoOverInfor.RowDefinitions.Count - 1);
|
|
|
|
|
if (CheckContext.RowDefinitions.Count > 1)
|
|
|
|
|
CheckContext.RowDefinitions.RemoveRange(1, CheckContext.RowDefinitions.Count - 1);
|
|
|
|
|
if (GeoOverInfor.ColumnDefinitions.Count > 1)
|
|
|
|
|
GeoOverInfor.ColumnDefinitions.RemoveRange(1, GeoOverInfor.ColumnDefinitions.Count - 1);
|
|
|
|
|
if (CheckContext.ColumnDefinitions.Count > 1)
|
|
|
|
|
CheckContext.ColumnDefinitions.RemoveRange(1, CheckContext.ColumnDefinitions.Count - 1);
|
|
|
|
|
TableTitle(GeoOverInfor, data.Columns, foregroundColor, lableColor);
|
|
|
|
|
foreach (DataRow row in data.Rows)
|
|
|
|
|
{
|
|
|
|
|
GeoOverInfor.RowDefinitions.Add(new RowDefinition());
|
|
|
|
|
for (int ii = 0; ii < data.Columns.Count; ii++)
|
|
|
|
|
{
|
|
|
|
|
SetStyle(GeoOverInfor, row[ii].ToString(), i, ii);
|
|
|
|
|
}
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
border.Child = GeoOverInfor;
|
|
|
|
|
spResult.Children.Add(border);
|
|
|
|
|
data = Keys["图形规范性"];
|
|
|
|
|
i = 1;
|
|
|
|
|
TableTitle(CheckContext, data.Columns, foregroundColor, lableColor);
|
|
|
|
|
foreach (DataRow row in data.Rows)
|
|
|
|
|
{
|
|
|
|
|
CheckContext.RowDefinitions.Add(new RowDefinition());
|
|
|
|
|
for (int ii = 0; ii < data.Columns.Count; ii++)
|
|
|
|
|
{
|
|
|
|
|
if (data.Columns[ii].ColumnName == "检查项")
|
|
|
|
|
{
|
|
|
|
|
SetStyle(CheckContext, row[ii].ToString(), i, ii, foregroundColor, lableColor);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SetStyle(CheckContext, row[ii].ToString(), i, ii);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
Checkborder.Child = CheckContext;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public void TableTitle(Grid grid, DataColumnCollection columns, SolidColorBrush foregroundColor, SolidColorBrush LableColor)
|
|
|
|
|
{
|
|
|
|
|
grid.RowDefinitions.Add(new RowDefinition());
|
|
|
|
|
for (int i = 0; i < columns.Count ; i++)
|
|
|
|
|
{
|
|
|
|
|
grid.ColumnDefinitions.Add(new ColumnDefinition());
|
|
|
|
|
}
|
|
|
|
|
for (int i = 0; i < columns.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
Border border = new Border();
|
|
|
|
|
border.BorderThickness = new Thickness(0.5, 0.5, 0.5, 0.5);
|
|
|
|
|
border.BorderBrush = Brushes.White;
|
|
|
|
|
border.SetValue(Grid.RowSpanProperty, 1);
|
|
|
|
|
border.SetValue(Grid.ColumnProperty, i);
|
|
|
|
|
Label label = new Label();
|
|
|
|
|
label.Background = foregroundColor;
|
|
|
|
|
label.Foreground = LableColor;
|
|
|
|
|
label.Content = Dic[columns[i].ColumnName];
|
|
|
|
|
label.Margin = new Thickness(1,0,0,0);
|
|
|
|
|
Grid.SetColumn(label, i);
|
|
|
|
|
Grid.SetRow(label, 0);
|
|
|
|
|
grid.Children.Add(label);
|
|
|
|
|
grid.Children.Add(border);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void SetStyle(Grid grid, string value, int RowIndex, int ColumnIndex)
|
|
|
|
|
{
|
|
|
|
|
Border border = new Border();
|
|
|
|
|
border.BorderThickness = new Thickness(0.5, 0.5, 0.5, 0.5);
|
|
|
|
|
//border.BorderBrush = Brushes.Gray;
|
|
|
|
|
border.SetValue(Grid.RowSpanProperty, RowIndex + 1);
|
|
|
|
|
border.SetValue(Grid.ColumnProperty, ColumnIndex);
|
|
|
|
|
grid.Children.Add(border);
|
|
|
|
|
Label label = new Label();
|
|
|
|
|
label.Content = value;
|
|
|
|
|
if (RowIndex % 2 == 0)
|
|
|
|
|
{
|
|
|
|
|
label.Background = Brushes.AliceBlue;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
label.Background = Brushes.White;
|
|
|
|
|
grid.Children.Add(label);
|
|
|
|
|
Grid.SetColumn(label, ColumnIndex);
|
|
|
|
|
Grid.SetRow(label, RowIndex);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetStyle(Grid grid, string value, int RowIndex, int ColumnIndex, SolidColorBrush foregroundColor, SolidColorBrush labelcolor)
|
|
|
|
|
{
|
|
|
|
|
Border border = new Border();
|
|
|
|
|
border.BorderThickness = new Thickness(0.5, 0.5, 0.5, 0.5);
|
|
|
|
|
Label label = new Label();
|
|
|
|
|
label.Background = foregroundColor;
|
|
|
|
|
label.Foreground = labelcolor;
|
|
|
|
|
label.Content = value;
|
|
|
|
|
Grid.SetColumn(label, ColumnIndex);
|
|
|
|
|
Grid.SetRow(label, RowIndex);
|
|
|
|
|
grid.Children.Add(label);
|
|
|
|
|
grid.Children.Add(border);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void ShowData()
|
|
|
|
|
{
|
|
|
|
|
this.Show();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void GeoDealWith(IGeometry geometry, IFeatureLayer layer)
|
|
|
|
|
{
|
|
|
|
|
FeatureLayer = layer;
|
|
|
|
|
Geometry = geometry;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IFeatureLayer FeatureLayer
|
|
|
|
|
{
|
|
|
|
|
get => _featureLayer;
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
_featureLayer = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Button_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.DragMove();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Button_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (popContent.Visibility == Visibility.Collapsed)
|
|
|
|
|
{
|
|
|
|
|
popContent.Visibility = Visibility.Visible;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
popContent.Visibility = Visibility.Collapsed;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnClose_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnClosePage_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
popContent.Visibility = Visibility.Collapsed;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|