using DataEntity.Share;
using DataRWDAL;
using DataRWDalDrive.DB;
using HxEnum;
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using XCommon.Log;
using XCore;
using XHandler.Class;
using XHandler.Class.DataEx;
using XHandler.View.Com;
using XHandler.View.MethodProperty;
using XImagingXhandler.XDAL;
namespace XHandler.View.BacteriaProperty
{
///
/// 文件涂布页面逻辑
///
public partial class FileCoatingProperty : UserControl, IMethodProperty
{
#region BLL
private TransferFileBll transferFileBll = new TransferFileBll();
private CoatingFileBll coatingFileBll = new CoatingFileBll();
#endregion
public MethodCoatingFile methodCoatingFile { get; set; }
private int curLiquidTypeSelectedIndex = -1;
private int curMixAspirateSelectIndex = -1;
private int curMixDispenseSelectIndex = -1;
#region 全局变量
private string isrun = "";
private string status = "";
private string name = "";
private string label = "";
private string filePath = "";
private string armText = "";
private string armValue = "";
private string labwaretipText = "";
private string labwaretipValue = "";
private int[] channels = new int[0] { };
private int beginLine = 0;
private DataTable transferDataTable = new DataTable();
private string sourceLabware = "";
private string sourceWell = "";
private string destinationLabware = "";
private string destinationWell = "";
private string bacteriaText = "";
private string bacteriaValue = "";
private int coatingmodeValue = 0;
private int choiceCategory = 0; // 挑菌方式 1:单选; 2:穿刺; 3:吸液;
private int coatingCount = 0;
private string liquididText = "";
private string liquididValue = "";
private string liquidrangeidText = "";
private string liquidrangeidValue = "";
private string liquidpidText = "";
private string liquidpidValue = "";
private bool bMix = false;
private double mixvolume = 0.0d;
private int mixcount = 0;
private string mixAspiratePositionText = "";
private int mixAspiratePositionValue = 0;
private double mixAspirateDistance = 0.0d;
private double mixAspirateSpeed = 0.0d;
private string mixDispensePositionText = "";
private int mixDispensePositionValue = 0;
private double mixDispenseDistance = 0.0d;
private double mixDispenseSpeed = 0.0d;
private double coatingOffset = 0.0d;
private double shakeDistanceValue = 0.0d;
private double shakeCountValue = 0.0d;
private int mark = 0;
private Labware selectedLabware = null;
private bool bEnableUltrasonic = true;
private List ultrasonicObjects = new List();
private ObservableCollection dishPointlist = new ObservableCollection(); // 圆形皿绑定的点集合
#endregion
#region 构造函数
public FileCoatingProperty(MethodEx method)
{
InitializeComponent();
mark = 0;
curLiquidTypeSelectedIndex = 0;
curMixAspirateSelectIndex = 2;
curMixDispenseSelectIndex = 2;
methodCoatingFile = new MethodCoatingFile();
methodCoatingFile.name = method.method_name;
methodCoatingFile.label = method.method_name;
methodCoatingFile.status = (method.isEnabled == true ? "enable" : "disable");
this.DataContext = methodCoatingFile;
ObservableCollection bacterias = DataModule.getInstance().GetBacterias();
cbBacteria.ItemsSource = bacterias;
List armList = DataModule.getInstance().GetDeviceArm();
cbArm.ItemsSource = armList;
if (armList.Count == 2) //只有一个臂的情况下默认选中该臂
cbArm.SelectedIndex = 1;
else
cbArm.SelectedIndex = 0;
ObservableCollection liquidTypeList = DataModule.getInstance().GetLiquidTypes();
cbLiquidType.ItemsSource = liquidTypeList;
// 获取液体范围类型
ObservableCollection liquidRangeList = DataModule.getInstance().GetLiquidRanges();
cbLiquidRange.ItemsSource = liquidRangeList;
ObservableCollection liquidList = new ObservableCollection();
Liquid liquid = new Liquid();
liquid.liquid_name = Properties.Resources.strPleaseSelect;
liquidList.Add(liquid);
cbLiquid.ItemsSource = liquidList;
// 获取加液、取液位置类型
ObservableCollection mixPositionList = DataModule.getInstance().GetDispensePositionType();
cbMixAspiratePosition.ItemsSource = mixPositionList;
cbMixDispensePosition.ItemsSource = mixPositionList;
// 获取涂布方式
ObservableCollection coatingModeList = DataModule.getInstance().GetCoatingMode();
cbCoatingMode.ItemsSource = coatingModeList;
cbCoatingMode.SelectedValue = methodCoatingFile.coatingModeValue;
// 获取涂布通道数量
List dropdownNames = coatingFileBll.GenerateCoatingCountOfChannel(Shared.SoftwareInformation.software_device_number);
cbCoatingCount.ItemsSource = dropdownNames;
cbCoatingCount.SelectedIndex = 0;
// 耗材名称
ObservableCollection labwares = DataRWDAL.LabwareDB.GetSpecialLabware();
comboboxLabwareType.ItemsSource = labwares;
// 获取挑菌方式
ObservableCollection choiceModeList = DataModule.getInstance().GetChoiceMode(Shared.SoftwareInformation.software_device_number);
cbPickMode.ItemsSource = choiceModeList;
if (methodCoatingFile.choiceCategory == 0)
{
cbPickMode.SelectedIndex = 0;
}
tbxCommandLabel.Text = method.method_name;
methodCoatingFile.strIndex = method.strIndex;
if (method.tag != null)
{
methodCoatingFile = (MethodCoatingFile)method.tag;
#region 全局变量赋值
isrun = methodCoatingFile.isrun;
status = methodCoatingFile.status;
name = methodCoatingFile.name;
label = methodCoatingFile.label;
armText = methodCoatingFile.armText;
armValue = methodCoatingFile.armValue;
labwaretipText = methodCoatingFile.labwaretipText;
labwaretipValue = methodCoatingFile.labwaretipValue;
channels = methodCoatingFile.channels;
filePath = methodCoatingFile.filePath;
beginLine = methodCoatingFile.beginLine;
transferDataTable = methodCoatingFile.transferDataTable;
sourceLabware = methodCoatingFile.sourceLabware;
sourceWell = methodCoatingFile.sourceWell;
destinationLabware = methodCoatingFile.destinationLabware;
destinationWell = methodCoatingFile.destinationWell;
bacteriaText = methodCoatingFile.bacteriaText;
bacteriaValue = methodCoatingFile.bacteriaValue;
coatingmodeValue = methodCoatingFile.coatingModeValue;
choiceCategory = methodCoatingFile.choiceCategory;
coatingCount = methodCoatingFile.coatingCount;
liquididText = methodCoatingFile.liquididText;
liquididValue = methodCoatingFile.liquididValue;
liquidrangeidText = methodCoatingFile.liquidrangeidText;
liquidrangeidValue = methodCoatingFile.liquidrangeidValue;
liquidpidText = methodCoatingFile.liquidpidText;
liquidpidValue = methodCoatingFile.liquidpidValue;
bMix = methodCoatingFile.bMix;
mixvolume = methodCoatingFile.mixvolume;
mixcount = methodCoatingFile.mixcount;
mixAspiratePositionText = methodCoatingFile.mixAspiratePositionText;
mixAspiratePositionValue = methodCoatingFile.mixAspiratePositionValue;
mixAspirateDistance = methodCoatingFile.mixAspirateDistance;
mixAspirateSpeed = methodCoatingFile.mixAspirateSpeed;
mixDispensePositionText = methodCoatingFile.mixDispensePositionText;
mixDispensePositionValue = methodCoatingFile.mixDispensePositionValue;
mixDispenseDistance = methodCoatingFile.mixDispenseDistance;
mixDispenseSpeed = methodCoatingFile.mixDispenseSpeed;
shakeDistanceValue = methodCoatingFile.shakeDistanceValue;
shakeCountValue = methodCoatingFile.shakeCountValue;
coatingOffset = methodCoatingFile.coatingOffset;
if (methodCoatingFile.isEnableultrasonic) // 开启超声探测
{
bEnableUltrasonic = methodCoatingFile.isEnableultrasonic;
ultrasonicObjects = methodCoatingFile.ultrasonicObjectList;
}
else
{
bEnableUltrasonic = methodCoatingFile.isEnableultrasonic;
}
#endregion
}
}
#endregion
public void SetTableName(string tableName, Labware lb)
{
if (lb == null)
return;
if (string.IsNullOrEmpty(lb.labware_id))
return;
if (string.IsNullOrEmpty(methodCoatingFile.armValue))
{
MessageBox.Show(Properties.Resources.msgPlsSelectArm, "Tips");
return;
}
selectedLabware = lb;
List latticeList = DataRWDAL.LatticeDB.GetLatticeDataFromdb(Shared.SoftwareInformation.software_device_number, Convert.ToInt32(methodCoatingFile.armValue));
Lattice lattice = latticeList.Find(s => s.lattice_num == tableName);
if (lattice == null)
{
LoggerHelper.InfoLog("Error: Can't find lattice with lattice_num=" + tableName);
return;
}
if (gridLiquidParam.Visibility == Visibility.Visible)
{
if (gridChoiceAgoAspirateProperty.Children.Count > 0)
{
ChoiceAgoAspirateChildProperty choiceAgoAspirateChildProperty = (ChoiceAgoAspirateChildProperty)gridChoiceAgoAspirateProperty.Children[0];
choiceAgoAspirateChildProperty.SetTableName(tableName, lb);
}
}
else
{
methodCoatingFile.labwaretipText = lb.labware_name;
methodCoatingFile.labwaretipValue = lb.labware_id;
tbSelectTable.Tag = lb.labware_id;
tbSelectTable.Text = lb.labware_name;
}
}
#region 选择文件
private void btnSelectFile_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "请选择Excel文件";
dlg.FileName = string.Empty;
dlg.FilterIndex = 1;
dlg.RestoreDirectory = true;
dlg.Filter = "csv files(*.csv)|*.csv|excel files(*.xls)|*.xls|All files(*.*)|*.*";
dlg.Multiselect = false;
if (dlg.ShowDialog() == true)
{
string fullPath = dlg.FileName;
methodCoatingFile.filePath = fullPath;
tbExcelFile.Text = fullPath;
SelectFile(fullPath);
}
((MainWindow)Application.Current.MainWindow).testDesign.IsIgnore = true; //防止影响到主界面流程中已拖放的单命令顺序
}
private void tbExcelFile_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
if (!string.IsNullOrEmpty(tbExcelFile.Text.Trim()))
{
if (System.IO.Path.HasExtension(tbExcelFile.Text.Trim()))
{
if (System.IO.File.Exists(tbExcelFile.Text.Trim()))
{
SelectFile(tbExcelFile.Text.Trim());
}
}
}
}
}
private void SelectFile(string file)
{
string ext = System.IO.Path.GetExtension(file);
DataTable transferData = null;
if (string.Compare(ext, ".csv", true) == 0)
transferData = ExcelAndCsvHelper.GetDataTableFromCsvFile(file, false);
else
transferData = ExcelAndCsvHelper.GetDataTableFromExcelFile(file, true);
if (transferData != null)
{
methodCoatingFile.transferDataTable = transferData;
dgTransferFileData.ItemsSource = transferData.DefaultView;
List transferFileHeaders = transferFileBll.GetTransferFileHeaders(transferData);
cbSourceDish.ItemsSource = transferFileHeaders;
cbMachineCoordinate.ItemsSource = transferFileHeaders;
cbTargetBoard.ItemsSource = transferFileHeaders;
cbTargetWell.ItemsSource = transferFileHeaders;
cbSourceDish.SelectedIndex = 0;
cbMachineCoordinate.SelectedIndex = 0;
cbTargetBoard.SelectedIndex = 0;
cbTargetWell.SelectedIndex = 0;
}
}
#endregion
#region 菌落变更事件
private void cbBacteria_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (cbBacteria.SelectedIndex < 0)
return;
if (methodCoatingFile == null)
return;
Bacteria bacteria = cbBacteria.SelectedItem as Bacteria;
methodCoatingFile.bacteriaValue = bacteria.bacteria_id;
methodCoatingFile.bacteriaText = bacteria.bacteria_name;
}
#endregion
#region 挑菌方式变更事件
private void cbPickMode_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (cbPickMode.SelectedIndex < 0)
return;
if (methodCoatingFile == null)
return;
DropdownName dpdItem = (DropdownName)cbPickMode.SelectedItem;
methodCoatingFile.choiceCategory = Convert.ToInt32(dpdItem.dropdown_id);
}
#endregion
#region 涂布方式变更事件
private void cbCoatingMode_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (cbCoatingMode.SelectedIndex < 0 || methodCoatingFile == null)
{
return;
}
DropdownName dpdItem = (DropdownName)cbCoatingMode.SelectedItem;
methodCoatingFile.coatingModeValue = Convert.ToInt32(dpdItem.dropdown_id);
bMix = false;
if (dpdItem.dropdown_name.Equals(Properties.Resources.strHuiziMode))
{
gridShake.Visibility = Visibility.Collapsed;
gdMixParam.Visibility = Visibility.Hidden;
}
else if (dpdItem.dropdown_name.Equals(Properties.Resources.strZMode))
{
gridShake.Visibility = Visibility.Collapsed;
gdMixParam.Visibility = Visibility.Hidden;
}
else if (dpdItem.dropdown_name.Equals(Properties.Resources.strUpDownMode))
{
gridShake.Visibility = Visibility.Visible;
gdMixParam.Visibility = Visibility.Hidden;
methodCoatingFile.shakeCountValue = Convert.ToInt32(tbxShakeCount.Text);
methodCoatingFile.shakeDistanceValue = Convert.ToInt32(tbxShakeDistance.Text);
}
// 吸放液
else if (dpdItem.dropdown_name.Equals(Properties.Resources.strAspirateMode))
{
gridShake.Visibility = Visibility.Collapsed;
gdMixParam.Visibility = Visibility.Visible;
bMix = true;
}
// 放液
else if (dpdItem.dropdown_name.Equals(Properties.Resources.strDispense))
{
gridShake.Visibility = Visibility.Collapsed;
gdMixParam.Visibility = Visibility.Hidden;
}
methodCoatingFile.bMix = bMix;
}
#endregion
#region 臂变更事件
private void cbArm_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if (cbArm.SelectedIndex < 0)
return;
string armName = ((DeviceArm)cbArm.SelectedItem).device_arm_name.ToString();
methodCoatingFile.channels = Shared.ChannelsId;
DeviceArm arm = cbArm.SelectedItem as DeviceArm;
methodCoatingFile.armText = arm.device_arm_name;
methodCoatingFile.armValue = methodCoatingFile.choiceAgoAspirateData.armValue = arm.device_arm_id.ToString();
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 命令名称变更事件
private void tbxCommandName_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
methodCoatingFile.name = tbxCommandName.Text;
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 从第N行变更事件
private void tbxbeginLine_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
methodCoatingFile.beginLine = Convert.ToInt32(tbxbeginLine.Text);
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 来源皿变更事件
private void cbSourceDish_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if (mark != 0)
{
TransferFileHeader transferFileHeader = cbSourceDish.SelectedItem as TransferFileHeader;
if (transferFileHeader != null)
methodCoatingFile.sourceLabware = transferFileHeader.header_name.ToString();
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 机械坐标变更事件
private void cbMachineCoordinate_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if (mark != 0)
{
TransferFileHeader transferFileHeader = cbMachineCoordinate.SelectedItem as TransferFileHeader;
if (transferFileHeader != null)
methodCoatingFile.sourceWell = transferFileHeader.header_name.ToString();
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 目标板变更事件
private void cbTargetBoard_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if (mark != 0)
{
TransferFileHeader transferFileHeader = cbTargetBoard.SelectedItem as TransferFileHeader;
if (transferFileHeader != null)
methodCoatingFile.destinationLabware = transferFileHeader.header_name.ToString();
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 目标孔变更事件
private void cbTargetWell_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if (mark != 0)
{
TransferFileHeader transferFileHeader = cbTargetWell.SelectedItem as TransferFileHeader;
if (transferFileHeader != null)
methodCoatingFile.destinationWell = transferFileHeader.header_name.ToString();
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 初期化
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
mark += 1;
try
{
if (mark > 1)
{
return;
}
tbxRowNum.Text = "0";
tbxColumnNum.Text = "0";
tbxCloseTop.Text = "0";
tbxCloseLeft.Text = "0";
tbxDistanceOfX.Text = "0";
tbxDistanceOfY.Text = "0";
int[] ichs = channels;
if (!string.IsNullOrEmpty(armText))
{
tbxCommandName.Text = name;
cbArm.SelectedValue = armValue;
DeviceArm arm = cbArm.SelectedItem as DeviceArm;
tbSelectTable.Tag = labwaretipValue;
tbSelectTable.Text = labwaretipText;
dgTransferFileData.ItemsSource = transferDataTable.DefaultView;
tbExcelFile.Text = filePath;
//更新所有下拉列表
List transferFileHeaders = transferFileBll.GetTransferFileHeaders(transferDataTable);
cbSourceDish.ItemsSource = transferFileHeaders;
cbMachineCoordinate.ItemsSource = transferFileHeaders;
cbTargetBoard.ItemsSource = transferFileHeaders;
cbTargetWell.ItemsSource = transferFileHeaders;
cbSourceDish.Text = sourceLabware;
cbMachineCoordinate.Text = sourceWell;
cbTargetBoard.Text = destinationLabware;
cbTargetWell.Text = destinationWell;
cbBacteria.Text = bacteriaText;
tbxCoatingOffset.Text = coatingOffset.ToString();
cbCoatingMode.SelectedValue = Convert.ToInt32(coatingmodeValue);
if (coatingmodeValue.Equals("3")) // 上下移动
{
tbxShakeCount.Text = shakeCountValue.ToString();
tbxShakeDistance.Text = shakeDistanceValue.ToString();
}
cbPickMode.SelectedValue = choiceCategory.ToString();
cbCoatingCount.SelectedValue = coatingCount;
cbLiquidType.SelectedValue = liquididValue;
cbLiquidRange.SelectedValue = liquidrangeidValue;
cbLiquid.SelectedValue = liquidpidValue;
ObservableCollection liquidList = LiquidTypeRSRangeDB.GetLiquidFromdbByTypeAndRange(liquididValue, liquidrangeidValue, cbArm.SelectedValue.ToString());
Liquid liquid = new Liquid();
liquid.liquid_name = Properties.Resources.strPleaseSelect;
liquidList.Insert(0, liquid);
cbLiquid.ItemsSource = liquidList;
cbLiquid.SelectedIndex = 0;
cbLiquid.SelectedValue = liquidpidValue;
if (bMix)
{
if (methodCoatingFile != null)
{
tbxMixVolume.Text = mixvolume.ToString();
tbxMixCount.Text = mixcount.ToString();
}
else
{
tbxMixVolume.Text = methodCoatingFile.mixvolume.ToString();
tbxMixCount.Text = methodCoatingFile.mixcount.ToString();
}
cbMixAspiratePosition.SelectedValue = mixAspiratePositionValue;
tbxMixAspirateDistance.Text = mixAspirateDistance.ToString();
tbxMixAspirateSpeed.Text = mixAspirateSpeed.ToString();
cbMixDispensePosition.SelectedValue = mixDispensePositionValue;
tbxMixDispenseDistance.Text = mixDispenseDistance.ToString();
tbxMixDispenseSpeed.Text = mixDispenseSpeed.ToString();
}
}
else
{
cbArm.SelectedIndex = 0;
cbBacteria.SelectedIndex = 0;
cbCoatingMode.SelectedIndex = 0;
cbCoatingCount.SelectedIndex = 0;
cbPickMode.SelectedIndex = 0;
tbxShakeCount.Text = "5";
tbxShakeDistance.Text = "3";
cbLiquidType.SelectedValue = curLiquidTypeSelectedIndex;
cbMixAspiratePosition.SelectedIndex = curMixAspirateSelectIndex;
cbMixDispensePosition.SelectedIndex = curMixDispenseSelectIndex;
ObservableCollection liquidList = LiquidTypeRSRangeDB.GetLiquidFromdbByTypeAndRange(liquididValue, liquidrangeidValue, cbArm.SelectedValue.ToString());
Liquid liquid = new Liquid();
liquid.liquid_name = Properties.Resources.strPleaseSelect;
liquidList.Insert(0, liquid);
cbLiquid.ItemsSource = liquidList;
cbLiquid.SelectedIndex = 0;
}
// 开启超声探测
cbxEnableUltrasonic.IsChecked = bEnableUltrasonic;
// 耗材名称默认选择
comboboxLabwareType.SelectedIndex = 0;
#region 挑菌前环境设置
ChoiceAgoAspirateChildProperty property = new ChoiceAgoAspirateChildProperty(methodCoatingFile.choiceAgoAspirateData);
gridChoiceAgoAspirateProperty.Children.Add(property);
#endregion
// 多块目标板涂布前要挑菌
cbPickEveryTime.IsChecked = methodCoatingFile.pickEveryTime;
// 多块目标板挑菌前要换枪头
cbPickAgoChangeTipEveryTime.IsChecked = methodCoatingFile.pickAgoChangeTipEveryTime;
cbPickEveryTime_Click(null, null);
#region 涂布自动开关盖
ckbAutoOpenCloseCoverCoating.IsChecked = methodCoatingFile.autoOpenCloseCoverCoating;
#endregion
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 构建圆形皿默认三个坐标
public ObservableCollection GenerateDefaultPointList()
{
ObservableCollection points = new ObservableCollection();
DropdownName point1 = new DropdownName();
point1.dropdown_id = "-10";
point1.dropdown_name = "0";
point1.index_id = 1;
points.Add(point1);
point1 = new DropdownName();
point1.dropdown_id = "0";
point1.dropdown_name = "0";
point1.index_id = 2;
points.Add(point1);
point1 = new DropdownName();
point1.dropdown_id = "10";
point1.dropdown_name = "0";
point1.index_id = 3;
points.Add(point1);
return points;
}
#endregion
#region 构建圆形皿坐标数据
public ObservableCollection GenerateDishPointData(ObservableCollection pointlist)
{
ObservableCollection data = new ObservableCollection();
int countOfNum = 0;
foreach (DropdownName point in pointlist)
{
DropdownName dropdownName = new DropdownName();
dropdownName.index_id = ++countOfNum;
dropdownName.dropdown_id = point.dropdown_id.ToString();
dropdownName.dropdown_name = point.dropdown_name.ToString();
data.Add(dropdownName);
}
return data;
}
#endregion
#region 枪头类型变更事件
private void tbSelectTable_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
methodCoatingFile.labwaretipValue = tbSelectTable.Tag.ToString();
methodCoatingFile.labwaretipText = tbSelectTable.Text;
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 同时涂布通道数
private void cbCoatingCount_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (cbCoatingCount.SelectedIndex < 0)
return;
if (methodCoatingFile == null)
return;
methodCoatingFile.coatingCount = Convert.ToInt32(((DropdownName)cbCoatingCount.SelectedItem).dropdown_id);
}
#endregion
#region 液体类型变更事件
private void cbLiquidType_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (mark != 0)
{
if (methodCoatingFile != null)
{
methodCoatingFile.liquididText = ((LiquidType)cbLiquidType.SelectedItem).liquid_type_name.ToString();
if (methodCoatingFile.liquididText != "请选择类型")
{
methodCoatingFile.liquididValue = ((LiquidType)cbLiquidType.SelectedItem).liquid_type_id.ToString();
}
else
{
methodCoatingFile.liquididValue = "0";
}
}
}
//else
//{
// if (cbLiquidType.SelectedIndex < 0)
// return;
// if (cbLiquidType.SelectedIndex == 0)
// {
// cbLiquidRange.SelectedIndex = 0;
// cbLiquid.SelectedIndex = 0;
// }
// curLiquidTypeSelectedIndex = cbLiquidType.SelectedIndex;
// if (cbLiquidType.SelectedIndex != 0)
// {
// methodCoatingFile.liquididText = ((LiquidType)cbLiquidType.SelectedItem).liquid_type_name.ToString();
// methodCoatingFile.liquididValue = ((LiquidType)cbLiquidType.SelectedItem).liquid_type_id.ToString();
// }
//}
}
#endregion
#region 加液范围变更事件
private void cbLiquidRange_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (mark != 0)
{
string typeID = cbLiquidType.SelectedValue as string;
string rangeID = cbLiquidRange.SelectedValue as string;
string armID = cbArm.SelectedValue.ToString();
ObservableCollection liquidList = LiquidTypeRSRangeDB.GetLiquidFromdbByTypeAndRange(typeID, rangeID, armID);
Liquid liquid = new Liquid();
liquid.liquid_name = Properties.Resources.strPleaseSelect;
liquidList.Insert(0, liquid);
cbLiquid.ItemsSource = liquidList;
cbLiquid.SelectedIndex = 0;
if (methodCoatingFile != null)
{
if ((LiquidRange)cbLiquidRange.SelectedItem != null)
{
methodCoatingFile.liquidrangeidText = ((LiquidRange)cbLiquidRange.SelectedItem).liquid_range_name.ToString();
methodCoatingFile.liquidrangeidValue = ((LiquidRange)cbLiquidRange.SelectedItem).liquid_range_id.ToString();
}
}
}
//else
//{
// if (cbLiquidRange.SelectedIndex < 0)
// return;
// curLiquidRangeSelectedIndex = cbLiquidRange.SelectedIndex;
// string typeID = cbLiquidType.SelectedValue as string;
// string rangeID = cbLiquidRange.SelectedValue as string;
// string armID = cbArm.SelectedValue.ToString();
// ObservableCollection liquidList = LiquidTypeRSRangeDB.GetLiquidFromdbByTypeAndRange(typeID, rangeID, armID);
// Liquid liquid = new Liquid();
// liquid.liquid_name = Properties.Resources.strPleaseSelect;
// liquidList.Insert(0, liquid);
// if (cbLiquidRange.SelectedIndex != 0)
// {
// methodCoatingFile.liquidrangeidText = ((LiquidRange)cbLiquidRange.SelectedItem).liquid_range_name.ToString();
// methodCoatingFile.liquidrangeidValue = ((LiquidRange)cbLiquidRange.SelectedItem).liquid_range_id.ToString();
// }
// cbLiquid.ItemsSource = liquidList;
// cbLiquid.SelectedIndex = 0;
//}
}
#endregion
private void cbLiquid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (mark != 0)
{
if (cbLiquid.SelectedIndex != 0)
{
if (methodCoatingFile != null)
{
Liquid liquid = cbLiquid.SelectedItem as Liquid;
if (liquid != null)
{
methodCoatingFile.liquidpidText = liquid.liquid_name;
methodCoatingFile.liquidpidValue = liquid.liquid_id;
}
}
}
}
//else
//{
// if (cbLiquid.SelectedIndex < 1)
// return;
// Liquid liquid = cbLiquid.SelectedItem as Liquid;
// if (cbLiquid.SelectedIndex != 0)
// {
// methodCoatingFile.liquidpidText = liquid.liquid_name;
// methodCoatingFile.liquidpidValue = liquid.liquid_id;
// }
//}
}
#region 混合体积 (μL)变更事件
private void tbxMixVolume_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
if (methodCoatingFile != null)
{
methodCoatingFile.mixvolume = Convert.ToDouble(tbxMixVolume.Text);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
private void tbxMixCount_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
if (methodCoatingFile != null)
{
methodCoatingFile.mixcount = Convert.ToInt32(tbxMixCount.Text);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#region 吸液距离类型
private void cbMixAspiratePosition_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (mark != 0)
{
if (cbMixAspiratePosition.SelectedItem != null)
{
DropdownName dpdItem = (DropdownName)cbMixAspiratePosition.SelectedItem;
methodCoatingFile.mixAspiratePositionValue = Convert.ToInt32(dpdItem.dropdown_id);
methodCoatingFile.mixAspiratePositionText = dpdItem.dropdown_name;
}
}
}
#endregion
private void tbxMixAspirateDistance_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
if (methodCoatingFile != null)
{
methodCoatingFile.mixAspirateDistance = Convert.ToDouble(tbxMixAspirateDistance.Text);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void tbxMixAspirateSpeed_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
if (methodCoatingFile != null)
{
methodCoatingFile.mixAspirateSpeed = Convert.ToDouble(tbxMixAspirateSpeed.Text);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#region 加液距离类型
private void cbMixDispensePosition_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (mark != 0)
{
if (cbMixDispensePosition.SelectedItem != null)
{
DropdownName dpdItem = (DropdownName)cbMixDispensePosition.SelectedItem;
methodCoatingFile.mixDispensePositionValue = Convert.ToInt32(dpdItem.dropdown_id);
methodCoatingFile.mixDispensePositionText = dpdItem.dropdown_name;
}
}
}
#endregion
#region 加液时, 在距离
private void tbxMixDispenseDistance_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
if (methodCoatingFile != null)
{
methodCoatingFile.mixDispenseDistance = Convert.ToDouble(tbxMixDispenseDistance.Text);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region μL/s 加液变更事件
private void tbxMixDispenseSpeed_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (mark != 0)
{
if (methodCoatingFile != null)
{
methodCoatingFile.mixDispenseSpeed = Convert.ToDouble(tbxMixDispenseSpeed.Text);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 挑菌涂布设置 上一步
private void btnPrevChoiceCoatingSetting_Click(object sender, RoutedEventArgs e)
{
if (stepBar.StepIndex > stepBar.Items.Count)
{
stepBar.Prev();
stepBar.Prev();
}
else
stepBar.Prev();
gridSelectFile.Visibility = Visibility.Collapsed;
gridTipSetting.Visibility = Visibility.Collapsed;
gridLiquidParam.Visibility = Visibility.Visible;
scrollViewer.ScrollToTop();
}
#endregion
#region 挑菌涂布设置 完成
private void btnFinish_Click(object sender, RoutedEventArgs e)
{
stepBar.Next();
gridSelectFile.Visibility = Visibility.Collapsed;
gridTipSetting.Visibility = Visibility.Visible;
gridLiquidParam.Visibility = Visibility.Collapsed;
scrollViewer.ScrollToTop();
}
#endregion
#region 选择文件 下一步
private void btnNext_Click(object sender, RoutedEventArgs e)
{
stepBar.Next();
gridSelectFile.Visibility = Visibility.Collapsed;
gridUltrasonic.Visibility = Visibility.Visible;
gridTipSetting.Visibility = Visibility.Collapsed;
gridLiquidParam.Visibility = Visibility.Collapsed;
scrollViewer.ScrollToTop();
}
#endregion
#region 挑菌前环境设置 下一步
private void btnNext1_Click(object sender, RoutedEventArgs e)
{
stepBar.Next();
gridUltrasonic.Visibility = Visibility.Collapsed;
gridSelectFile.Visibility = Visibility.Collapsed;
gridTipSetting.Visibility = Visibility.Visible;
gridLiquidParam.Visibility = Visibility.Collapsed;
scrollViewer.ScrollToTop();
}
#endregion
#region 挑菌前环境设置 上一步
private void btnPrev_Click(object sender, RoutedEventArgs e)
{
stepBar.Prev();
gridUltrasonic.Visibility = Visibility.Visible;
gridSelectFile.Visibility = Visibility.Collapsed;
gridTipSetting.Visibility = Visibility.Collapsed;
gridLiquidParam.Visibility = Visibility.Collapsed;
scrollViewer.ScrollToTop();
}
#endregion
#region 涂布文件变更事件
private void tbExcelFile_TextChanged(object sender, TextChangedEventArgs e)
{
efError.Text = string.IsNullOrEmpty(tbExcelFile.Text.Trim()) ? "不能为空" : "";
}
#endregion
#region 调高变更事件
private void tbxCoatingOffset_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodCoatingFile != null)
{
methodCoatingFile.coatingOffset = Convert.ToDouble(tbxCoatingOffset.Text);
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 超声探测属性
///
/// 探测耗材名称
///
///
///
private void comboboxLabwareType_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var labwareT = (Labware)(comboboxLabwareType.SelectedItem as Labware);
if (labwareT == null)
{
return;
}
// 先看类型,加载界面
if (labwareT.labware_type_id.Equals(EnumManagement.GetEnumValue(ConsumableTypeEnum.CircularDish).ToString())) // 圆形皿
{
bdDish.Visibility = Visibility.Visible;
bdLabware.Visibility = Visibility.Collapsed;
if (methodCoatingFile.ultrasonicDishObjectList == null) // 圆形皿耗材超声属性
{
// 构建圆形皿默认三个坐标
dishPointlist = GenerateDefaultPointList();
if (methodCoatingFile.ultrasonicDishObjectList == null)
{
methodCoatingFile.ultrasonicDishObjectList = new List();
}
UltrasonicDishObject ultrasonicDishObject = new UltrasonicDishObject();
ultrasonicDishObject.labwareText = labwareT.labware_name;
ultrasonicDishObject.labwareValue = labwareT.labware_id;
ultrasonicDishObject.xDishAxisVal = 0d;
ultrasonicDishObject.yDishAxisVal = 0d;
ultrasonicDishObject.pointList = new ObservableCollection();
ultrasonicDishObject.pointList = dishPointlist;
methodCoatingFile.ultrasonicDishObjectList.Add(ultrasonicDishObject);
}
else
{
var labT = methodCoatingFile.ultrasonicDishObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
if (labT.pointList != null && labT.pointList.Count != 0)
{
dishPointlist = new ObservableCollection(labT.pointList);
}
else
{
// 构建圆形皿默认三个坐标
dishPointlist = GenerateDefaultPointList();
labT.pointList = dishPointlist;
}
}
else
{
// 构建圆形皿默认三个坐标
dishPointlist = GenerateDefaultPointList();
if (methodCoatingFile.ultrasonicDishObjectList == null)
{
methodCoatingFile.ultrasonicDishObjectList = new List();
}
UltrasonicDishObject ultrasonicDishObject = new UltrasonicDishObject();
ultrasonicDishObject.labwareText = labwareT.labware_name;
ultrasonicDishObject.labwareValue = labwareT.labware_id;
ultrasonicDishObject.xDishAxisVal = 0d;
ultrasonicDishObject.yDishAxisVal = 0d;
ultrasonicDishObject.pointList = new ObservableCollection();
ultrasonicDishObject.pointList = dishPointlist;
methodCoatingFile.ultrasonicDishObjectList.Add(ultrasonicDishObject);
}
}
dgPointListData.ItemsSource = dishPointlist;
}
else
{
bdDish.Visibility = Visibility.Collapsed;
bdLabware.Visibility = Visibility.Visible;
if (methodCoatingFile.ultrasonicObjectList == null)
{
methodCoatingFile.ultrasonicObjectList = new List();
UltrasonicObject ultrasonicObject = new UltrasonicObject();
ultrasonicObject.labwareText = labwareT.labware_name;
ultrasonicObject.labwareValue = labwareT.labware_id;
ultrasonicObject.rowNum = Convert.ToInt32(tbxRowNum.Text);
ultrasonicObject.columnNum = Convert.ToInt32(tbxColumnNum.Text);
ultrasonicObject.closeTopVal = Convert.ToDouble(tbxCloseTop.Text);
ultrasonicObject.closeLeftVal = Convert.ToDouble(tbxCloseLeft.Text);
ultrasonicObject.xAxisVal = Convert.ToDouble(tbxDistanceOfX.Text);
ultrasonicObject.yAxisVal = Convert.ToDouble(tbxDistanceOfY.Text);
methodCoatingFile.ultrasonicObjectList.Add(ultrasonicObject);
}
else
{
var labT = methodCoatingFile.ultrasonicObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
tbxRowNum.Text = labT.rowNum.ToString();
tbxColumnNum.Text = labT.columnNum.ToString();
tbxCloseTop.Text = labT.closeTopVal.ToString();
tbxCloseLeft.Text = labT.closeLeftVal.ToString();
tbxDistanceOfX.Text = labT.xAxisVal.ToString();
tbxDistanceOfY.Text = labT.yAxisVal.ToString();
}
else
{
if (methodCoatingFile.ultrasonicObjectList == null)
{
methodCoatingFile.ultrasonicObjectList = new List();
}
UltrasonicObject ultrasonicObject = new UltrasonicObject();
var labTm = methodCoatingFile.ultrasonicObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
ultrasonicObject.labwareText = labwareT.labware_name;
ultrasonicObject.labwareValue = labwareT.labware_id;
ultrasonicObject.rowNum = Convert.ToInt32(tbxRowNum.Text);
ultrasonicObject.columnNum = Convert.ToInt32(tbxColumnNum.Text);
ultrasonicObject.closeTopVal = Convert.ToDouble(tbxCloseTop.Text);
ultrasonicObject.closeLeftVal = Convert.ToDouble(tbxCloseLeft.Text);
ultrasonicObject.xAxisVal = Convert.ToDouble(tbxDistanceOfX.Text);
ultrasonicObject.yAxisVal = Convert.ToDouble(tbxDistanceOfY.Text);
if (labTm == null)
{
methodCoatingFile.ultrasonicObjectList.Add(ultrasonicObject);
}
}
}
}
}
///
/// 探测行数
///
///
///
private void tbxRowNum_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodCoatingFile != null)
{
Labware labwareT = (Labware)(comboboxLabwareType.SelectedItem as Labware);
if (labwareT == null)
{
return;
}
var labT = methodCoatingFile.ultrasonicObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
labT.rowNum = Convert.ToInt32(tbxRowNum.Text);
}
else
{
UltrasonicObject ultrasonicObject = new UltrasonicObject();
ultrasonicObject.labwareText = labwareT.labware_name;
ultrasonicObject.labwareValue = labwareT.labware_id;
ultrasonicObject.rowNum = Convert.ToInt32(tbxRowNum.Text);
methodCoatingFile.ultrasonicObjectList.Add(ultrasonicObject);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
///
/// 探测列数
///
///
///
private void tbxColumnNum_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodCoatingFile != null)
{
Labware labwareT = (Labware)(comboboxLabwareType.SelectedItem as Labware);
if (labwareT == null)
{
return;
}
var labT = methodCoatingFile.ultrasonicObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
labT.columnNum = Convert.ToInt32(tbxColumnNum.Text);
}
else
{
UltrasonicObject ultrasonicObject = new UltrasonicObject();
ultrasonicObject.labwareText = labwareT.labware_name;
ultrasonicObject.labwareValue = labwareT.labware_id;
ultrasonicObject.columnNum = Convert.ToInt32(tbxColumnNum.Text);
methodCoatingFile.ultrasonicObjectList.Add(ultrasonicObject);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
///
/// 距顶边
///
///
///
private void tbxCloseTop_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodCoatingFile != null)
{
Labware labwareT = (Labware)(comboboxLabwareType.SelectedItem as Labware);
if (labwareT == null)
{
return;
}
var labT = methodCoatingFile.ultrasonicObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
labT.closeTopVal = Convert.ToDouble(tbxCloseTop.Text);
}
else
{
UltrasonicObject ultrasonicObject = new UltrasonicObject();
ultrasonicObject.labwareText = labwareT.labware_name;
ultrasonicObject.labwareValue = labwareT.labware_id;
ultrasonicObject.closeTopVal = Convert.ToDouble(tbxCloseTop.Text);
methodCoatingFile.ultrasonicObjectList.Add(ultrasonicObject);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
///
/// 距左边
///
///
///
private void tbxCloseLeft_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodCoatingFile != null)
{
Labware labwareT = (Labware)(comboboxLabwareType.SelectedItem as Labware);
if (labwareT == null)
{
return;
}
var labT = methodCoatingFile.ultrasonicObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
labT.closeLeftVal = Convert.ToDouble(tbxCloseLeft.Text);
}
else
{
UltrasonicObject ultrasonicObject = new UltrasonicObject();
ultrasonicObject.labwareText = labwareT.labware_name;
ultrasonicObject.labwareValue = labwareT.labware_id;
ultrasonicObject.closeLeftVal = Convert.ToDouble(tbxCloseLeft.Text);
methodCoatingFile.ultrasonicObjectList.Add(ultrasonicObject);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
///
/// X间距
///
///
///
private void tbxDistanceOfX_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodCoatingFile != null)
{
Labware labwareT = (Labware)(comboboxLabwareType.SelectedItem as Labware);
if (labwareT == null)
{
return;
}
var labT = methodCoatingFile.ultrasonicObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
labT.xAxisVal = Convert.ToDouble(tbxDistanceOfX.Text);
}
else
{
UltrasonicObject ultrasonicObject = new UltrasonicObject();
ultrasonicObject.labwareText = labwareT.labware_name;
ultrasonicObject.labwareValue = labwareT.labware_id;
ultrasonicObject.xAxisVal = Convert.ToDouble(tbxDistanceOfX.Text);
methodCoatingFile.ultrasonicObjectList.Add(ultrasonicObject);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
///
/// Y间距
///
///
///
private void tbxDistanceOfY_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodCoatingFile != null)
{
Labware labwareT = (Labware)(comboboxLabwareType.SelectedItem as Labware);
if (labwareT == null)
{
return;
}
var labT = methodCoatingFile.ultrasonicObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
labT.yAxisVal = Convert.ToDouble(tbxDistanceOfY.Text);
}
else
{
UltrasonicObject ultrasonicObject = new UltrasonicObject();
ultrasonicObject.labwareText = labwareT.labware_name;
ultrasonicObject.labwareValue = labwareT.labware_id;
ultrasonicObject.yAxisVal = Convert.ToDouble(tbxDistanceOfY.Text);
methodCoatingFile.ultrasonicObjectList.Add(ultrasonicObject);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
///
/// 点位 新增
///
///
///
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
try
{
Labware labwareT = (Labware)(comboboxLabwareType.SelectedItem as Labware);
var labT = methodCoatingFile.ultrasonicDishObjectList.FirstOrDefault(x => x.labwareValue.Equals(labwareT.labware_id));
if (labT != null)
{
DropdownName dropdownName = new DropdownName();
dropdownName.index_id = dishPointlist.Count + 1;
dropdownName.dropdown_id = "0";
dropdownName.dropdown_name = "0";
dishPointlist.Add(dropdownName);
labT.pointList = dishPointlist;
}
else
{
methodCoatingFile.ultrasonicDishObjectList = new List();
UltrasonicDishObject ultrasonicDishObject = new UltrasonicDishObject();
ultrasonicDishObject.labwareText = labwareT.labware_name;
ultrasonicDishObject.labwareValue = labwareT.labware_id;
ultrasonicDishObject.xDishAxisVal = 0d;
ultrasonicDishObject.yDishAxisVal = 0d;
ultrasonicDishObject.pointList = new ObservableCollection();
DropdownName dropdownName = new DropdownName();
dropdownName.index_id = dishPointlist.Count + 1;
dropdownName.dropdown_id = "0";
dropdownName.dropdown_name = "0";
dishPointlist.Add(dropdownName);
ultrasonicDishObject.pointList = dishPointlist;
methodCoatingFile.ultrasonicDishObjectList.Add(ultrasonicDishObject);
}
dgPointListData.ItemsSource = dishPointlist;
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
///
/// 点位 删除
///
///
///
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
try
{
int SelectedRow = dgPointListData.SelectedIndex;//尝试解析出所选行
if (SelectedRow < 0)
{
return;
}
FrameworkElement element = dgPointListData.Columns[0].GetCellContent(dgPointListData.Items[SelectedRow]);
List