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.Navigation;
|
using System.Windows.Shapes;
|
using XHandler.Class.DataEx;
|
using XHandler.Class;
|
using XHandler.Controls;
|
using XImagingXhandler.XDAL;
|
using System.Collections.ObjectModel;
|
|
namespace XHandler.View
|
{
|
/// <summary>
|
/// SetPlateProperty.xaml 的交互逻辑
|
/// </summary>
|
public partial class SetPlateProperty : UserControl
|
{
|
public event EventHandler closeEvent;
|
|
public ControlLabware controlLabware { get; set; }
|
public LabwareEx labwareEx { get; set; }
|
|
public ObservableCollection<PlateWellsData> plateWellDataList { get; set; }
|
public SetPlateProperty(ControlLabware control, LabwareEx labware)
|
{
|
InitializeComponent();
|
|
controlLabware = control;
|
labwareEx = labware;
|
this.DataContext = labwareEx;
|
|
ObservableCollection<LiquidType> liquidTypeList = DataModule.getInstance().GetLiquidTypes();
|
cbLiquidType.ItemsSource = liquidTypeList;
|
cbLiquidType.SelectedIndex = 0;
|
|
plateWellDataList = labwareEx.plateWellDataList;
|
datagrid.ItemsSource = plateWellDataList;
|
}
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
{
|
wellPlate.Rows = labwareEx.number_row;
|
wellPlate.Columns = labwareEx.number_column;
|
}
|
|
/// <summary>
|
/// 取消
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnCancel_Click(object sender, RoutedEventArgs e)
|
{
|
if (EventResponseController.Instance.CanExecute() == false)
|
return;
|
|
closeEvent?.Invoke(this, EventArgs.Empty);
|
}
|
|
/// <summary>
|
/// 确定
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnOK_Click(object sender, RoutedEventArgs e)
|
{
|
controlLabware.Label = labwareEx.label = textboxLabel.Text.Trim();
|
controlLabware.ValidWells = labwareEx.validWells = wellPlate.Selection;
|
closeEvent?.Invoke(this, EventArgs.Empty);
|
}
|
|
/// <summary>
|
/// 设置
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnSet_Click(object sender, RoutedEventArgs e)
|
{
|
if (cbLiquidType.SelectedIndex <= 0)
|
{
|
MessageBox.Show(Properties.Resources.strPlsSelectLiquidType, "Tips");
|
return;
|
}
|
if (string.IsNullOrEmpty(textboxLiquidVolume.Text.Trim()))
|
{
|
MessageBox.Show(Properties.Resources.stringVolumeCannotEmpty, "Tips");
|
return;
|
}
|
int vol = 0;
|
if (!int.TryParse(textboxLiquidVolume.Text.Trim(), out vol))
|
{
|
MessageBox.Show(Properties.Resources.strPlsCorrectVolume, "Tips");
|
return;
|
}
|
|
LiquidType liquidType = cbLiquidType.SelectedItem as LiquidType;
|
PlateWellsData data = new PlateWellsData();
|
data.nIndex = plateWellDataList.Count + 1;
|
data.liquidTypeID = liquidType.liquid_type_id;
|
data.liquidTypeName = liquidType.liquid_type_name;
|
data.nVolume = vol;
|
data.wells = wellPlate.Selection;
|
plateWellDataList.Add(data);
|
}
|
|
private void btnReset_Click(object sender, RoutedEventArgs e)
|
{
|
plateWellDataList.Clear();
|
//wellPlate.ClearGroup();
|
}
|
}
|
}
|