using DataEntity.Share;
|
using DataRWDAL;
|
using System;
|
using System.Collections.Generic;
|
using System.Collections.ObjectModel;
|
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 System.Xml.Linq;
|
using XCommon.Log;
|
using XHandler.Class.DataEx;
|
using XHandler.View.MethodProperty;
|
using XImagingXhandler.XDAL;
|
|
namespace XHandler.View.Consumables
|
{
|
/// <summary>
|
/// 选择适配枪头
|
/// </summary>
|
public partial class TipLoadedTypeSet : Window
|
{
|
ObservableCollection<Labware> labwaresAll = new ObservableCollection<Labware>();
|
ObservableCollection<Labware> srcLabwares = new ObservableCollection<Labware>();
|
Labware srcLabware = new Labware();
|
List<CheckBox> checkBoxes = new List<CheckBox>();
|
|
public TipLoadedTypeSet(ObservableCollection<Labware> labwares, Labware sLabware)
|
{
|
InitializeComponent();
|
this.Owner = (Window)Shared.Main;
|
|
try
|
{
|
//加载所有的枪头
|
labwaresAll = LabwareDB.GetLabware(0, "", "枪头");
|
srcLabwares = labwares;
|
srcLabware = sLabware;
|
|
//绑定所有labwares
|
foreach (Labware labware in labwaresAll)
|
{
|
|
CheckBox checkBox = new CheckBox();
|
|
checkBox.Content = labware.labware_name;
|
checkBox.Click += new RoutedEventHandler(cbx_Click);
|
var a = labwares.FirstOrDefault(x => x.labware_id.Equals(labware.labware_id));
|
if (a != null)
|
{
|
checkBox.IsChecked = true;
|
checkBox.Tag = a;
|
}
|
else
|
{
|
checkBox.Tag = labware;
|
checkBox.IsChecked = false;
|
}
|
|
listboxPlates.Items.Add(checkBox);
|
checkBoxes.Add(checkBox);
|
}
|
|
listboxPlates.DataContext = labwaresAll;
|
|
//选中已经设置的labwares
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
}
|
|
private void searchLabware_PreviewKeyDown(object sender, KeyEventArgs e)
|
{
|
try
|
{
|
|
if (e.Key == Key.Enter)
|
{
|
string search = searchLabware.Text.Trim();
|
listboxPlates.Items.Clear();
|
checkBoxes.Clear();
|
|
//绑定所有labwares
|
foreach (Labware labware in labwaresAll.Where(s => s.labware_name.Contains(search)).ToList())
|
{
|
|
CheckBox checkBox = new CheckBox();
|
|
checkBox.Content = labware.labware_name;
|
checkBox.Click += new RoutedEventHandler(cbx_Click);
|
var a = srcLabwares.FirstOrDefault(x => x.labware_id.Equals(labware.labware_id));
|
if (a != null)
|
{
|
checkBox.IsChecked = true;
|
checkBox.Tag = a;
|
}
|
else
|
{
|
checkBox.Tag = labware;
|
checkBox.IsChecked = false;
|
}
|
|
listboxPlates.Items.Add(checkBox);
|
checkBoxes.Add(checkBox);
|
}
|
|
//listboxPlates.DataContext = labwaresAll;
|
|
//选中已经设置的labwares
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
}
|
|
object currentSelectItem = null;
|
private void listboxPlates_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
if (listboxPlates.SelectedIndex == -1)
|
{
|
return;
|
}
|
// 这里填写你所需要处理的代码
|
currentSelectItem = listboxPlates.SelectedItems[0];
|
if (currentSelectItem != null)
|
{
|
CheckBox checkBox = (CheckBox)currentSelectItem;
|
Labware labware = (Labware)checkBox.Tag;
|
}
|
|
// 最好修改SelectedIndex
|
//listboxPlates.SelectedIndex = -1;
|
}
|
|
private void btnClose_Click(object sender, RoutedEventArgs e)
|
{
|
this.Close();
|
}
|
|
private void cbx_Click(object sender, RoutedEventArgs e)
|
{
|
}
|
|
private void btnConfirm_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
if (listboxPlates.Items.Count > 0)
|
{
|
|
StringBuilder strResult = new StringBuilder();
|
for (int i = 0; i < checkBoxes.Count; i++)
|
{
|
CheckBox cbx = checkBoxes[i];
|
if (cbx != null)
|
{
|
if (cbx.IsChecked == true)
|
{
|
Labware id = (Labware)cbx.Tag;
|
var a = labwaresAll.FirstOrDefault(n => n.labware_id.Equals(id.labware_id));
|
if (a != null)
|
{
|
if(strResult.Length>=1)
|
{
|
txtError.Text = "仅支持一种Tip";
|
return;
|
}
|
strResult.Append(id.labware_id + ",");
|
}
|
}
|
}
|
}
|
|
//更新
|
srcLabware.tip_loaded_type = strResult.ToString().TrimEnd(',');
|
LabwareDB.UpdateLabwareIntodb(srcLabware);
|
}
|
this.Close();
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("ERROR:", ex);
|
}
|
}
|
|
#region 查找控件的子控件,并返回子控件对象
|
public List<T> GetChildObjects<T>(DependencyObject obj, Type typename) where T : FrameworkElement
|
{
|
DependencyObject child = null;
|
List<T> childList = new List<T>();
|
|
for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++)
|
{
|
child = VisualTreeHelper.GetChild(obj, i);
|
|
if (child is T && (((T)child).GetType() == typename))
|
{
|
childList.Add((T)child);
|
}
|
childList.AddRange(GetChildObjects<T>(child, typename));
|
}
|
return childList;
|
}
|
#endregion
|
|
private void tbxPiledcoordinateX_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
if (currentSelectItem != null)
|
{
|
CheckBox checkBox = (CheckBox)currentSelectItem;
|
Labware labware = (Labware)checkBox.Tag;
|
}
|
}
|
|
private void tbxPiledcoordinateY_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
if (currentSelectItem != null)
|
{
|
CheckBox checkBox = (CheckBox)currentSelectItem;
|
Labware labware = (Labware)checkBox.Tag;
|
}
|
}
|
|
private void tbxPiledcoordinateZ_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
if (currentSelectItem != null)
|
{
|
CheckBox checkBox = (CheckBox)currentSelectItem;
|
Labware labware = (Labware)checkBox.Tag;
|
}
|
}
|
|
#region 拖动窗体
|
/// <summary>
|
/// 拖动窗体
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void Grid_MouseDown(object sender, MouseButtonEventArgs e)
|
{
|
if (e.ChangedButton == MouseButton.Left)
|
{
|
this.DragMove();
|
}
|
}
|
#endregion
|
|
#region ESC关闭画面
|
/// <summary>
|
/// ESC关闭画面
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
|
{
|
if (e.Key == Key.Escape)
|
{
|
this.Close();
|
}
|
}
|
#endregion
|
}
|
}
|