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
{
///
/// SetPlateProperty.xaml 的交互逻辑
///
public partial class SetPlateProperty : UserControl
{
public event EventHandler closeEvent;
public ControlLabware controlLabware { get; set; }
public LabwareEx labwareEx { get; set; }
public ObservableCollection plateWellDataList { get; set; }
public SetPlateProperty(ControlLabware control, LabwareEx labware)
{
InitializeComponent();
controlLabware = control;
labwareEx = labware;
this.DataContext = labwareEx;
ObservableCollection 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;
}
///
/// 取消
///
///
///
private void btnCancel_Click(object sender, RoutedEventArgs e)
{
if (EventResponseController.Instance.CanExecute() == false)
return;
closeEvent?.Invoke(this, EventArgs.Empty);
}
///
/// 确定
///
///
///
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);
}
///
/// 设置
///
///
///
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();
}
}
}