using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; 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; using XHandler.Class.DataEx; using XHandler.Controls; using XHandler.View.MethodProperty; using XImagingXhandler.XDAL; namespace XHandler.View.BacteriaProperty { /// /// NewBacteria.xaml 的交互逻辑 /// public partial class NewBacteria : UserControl { #region custom event public event EventHandler closeEvent; /// /// 确定 /// public static readonly RoutedEvent OKRoutedEvent = EventManager.RegisterRoutedEvent("OKEvent", RoutingStrategy.Bubble, typeof(CustomEvent.CustomRoutedEventHandler), typeof(NewBacteria)); [Description("OKEvent")] public event CustomEvent.CustomRoutedEventHandler OKEvent { add { this.AddHandler(OKRoutedEvent, value); } remove { this.RemoveHandler(OKRoutedEvent, value); } } private void RaiseOKEvent(string str) { CustomRoutedEventArgs arg = new CustomRoutedEventArgs(OKRoutedEvent, str); this.RaiseEvent(arg); } #endregion public NewBacteria() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { if (EventResponseController.Instance.CanExecute() == false) return; closeEvent?.Invoke(this, EventArgs.Empty); } private void btnOK_Click(object sender, RoutedEventArgs e) { if (EventResponseController.Instance.CanExecute() == false) return; if (string.IsNullOrEmpty(textboxLabel.Text.Trim())) { textboxLabel.BorderThickness = new Thickness(1, 1, 1, 1); tbTips.Text = Properties.Resources.strCannotEmpty; return; } ObservableCollection bacterias = DataModule.getInstance().GetBacterias(); Bacteria bacteria = bacterias.Where(s=>s.bacteria_name==textboxLabel.Text).FirstOrDefault(); if (bacteria != null) { textboxLabel.BorderThickness = new Thickness(1, 1, 1, 1); tbTips.Text = Properties.Resources.strBacteriaExist; return; } else { Bacteria bacteria1 = new Bacteria(); bacteria1.bacteria_name = textboxLabel.Text; bacteria1.bacteria_status = 1; //bacterias.Add(bacteria1); } RaiseOKEvent(textboxLabel.Text.Trim()); } private void UserControl_Loaded(object sender, RoutedEventArgs e) { textboxLabel.Focus(); textboxLabel.SelectAll(); } } }