using DataEntity; using DataEntity.Share; using DataRWDAL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media.Animation; using System.Windows.Media.Media3D; using XCommon.Log; using XCoreBLL; using XHandler.Class; using XHandler.Class.DataEx; using XImagingXhandler.XDAL; namespace XHandler.View.BacteriaPickResult { /// /// 涂布报告页面 /// public partial class BacteriaCoatingDetails : UserControl { #region 变量 /// /// 实验挑菌信息 /// private ExperimentRunChoiceBacteraModel experimentRunChoiceBactera = null; /// /// 挑选涂布详细信息集合 /// private List experimentRunDetailList = null; public event EventHandler closeEvent = null; #endregion #region 初始化 /// /// 构造函数 /// /// 挑菌拍照基本信息 public BacteriaCoatingDetails(ExperimentRunChoiceBacteraModel expRunChoiceBactera) { InitializeComponent(); experimentRunChoiceBactera = expRunChoiceBactera; this.DataContext = experimentRunChoiceBactera; // 获取挑选涂布详细信息集合 experimentRunDetailList = ExperimentRunDetailDB.GetList(expRunChoiceBactera.ExperimentId, expRunChoiceBactera.RunChoiceBacteraId); dgPickData.ItemsSource = experimentRunDetailList; } /// /// 初期化 /// /// /// private void UserControl_Loaded(object sender, RoutedEventArgs e) { //Storyboard storyboard = new Storyboard(); //DoubleAnimation doubleAnimation = new DoubleAnimation(0, 1300, new Duration(TimeSpan.FromSeconds(0.25))); //Storyboard.SetTarget(doubleAnimation, border);//Target对象 //Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("Width"));//Target属性 //storyboard.Children.Add(doubleAnimation); //ObjectAnimationUsingKeyFrames showAnimation = new ObjectAnimationUsingKeyFrames(); //showAnimation.BeginTime = TimeSpan.FromSeconds(0); //Storyboard.SetTarget(showAnimation, this); //Storyboard.SetTargetProperty(showAnimation, new PropertyPath("(UIElement.Visibility)")); //DiscreteObjectKeyFrame closeKeyFrame = new DiscreteObjectKeyFrame(Visibility.Visible, TimeSpan.FromSeconds(0.01)); //showAnimation.KeyFrames.Add(closeKeyFrame); //storyboard.Children.Add(showAnimation); //storyboard.Begin(); this.Width = Shared.Config.DisplaySizeW; this.Height = Shared.Config.DisplaySizeH; } #endregion #region 窗口关闭 /// /// 窗口关闭 /// /// /// private void btnClose_Click(object sender, RoutedEventArgs e) { if (EventResponseController.Instance.CanExecute() == false) return; //Storyboard storyboard = new Storyboard(); //DoubleAnimation doubleAnimation = new DoubleAnimation(1300, 0, new Duration(TimeSpan.FromSeconds(0.25))); //Storyboard.SetTarget(doubleAnimation, border);//Target对象 //Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("Width"));//Target属性 //storyboard.Children.Add(doubleAnimation); //ObjectAnimationUsingKeyFrames showAnimation = new ObjectAnimationUsingKeyFrames(); //showAnimation.BeginTime = TimeSpan.FromSeconds(0); //Storyboard.SetTarget(showAnimation, this); //Storyboard.SetTargetProperty(showAnimation, new PropertyPath("(UIElement.Visibility)")); //DiscreteObjectKeyFrame closeKeyFrame = new DiscreteObjectKeyFrame(Visibility.Collapsed, TimeSpan.FromSeconds(0.26)); //showAnimation.KeyFrames.Add(closeKeyFrame); //storyboard.Children.Add(showAnimation); //storyboard.Completed += delegate { closeEvent?.Invoke(this, EventArgs.Empty); }; //storyboard.Begin(); closeEvent?.Invoke(this, EventArgs.Empty); } #endregion #region 导出报告 /// /// 导出报告 /// /// /// private void btnExport_Click(object sender, RoutedEventArgs e) { } #endregion #region 原图预览 /// /// 原图预览 /// /// /// private void SrcImage_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (e.ClickCount > 1) { ImagePreview imagePreview = new ImagePreview(experimentRunChoiceBactera.SourceImagePath); imagePreview.closeEvent += ImagePreview_closeEvent; Window wnd = Application.Current.MainWindow; Grid parent = Utilities.FindVisualChild(wnd); parent.Children.Add(imagePreview); } } /// /// 预览窗口关闭 /// /// /// private void ImagePreview_closeEvent(object sender, EventArgs e) { // 移除元素 UIElement element = sender as UIElement; Utilities.RemoveChild(element); } #endregion #region 挑菌后的图片预览 /// /// 挑菌后的图片预览 /// /// /// private void Image_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (e.ClickCount > 1) { ImagePreview imagePreview = new ImagePreview(experimentRunChoiceBactera.UpdateImagePath); imagePreview.closeEvent += ImagePreview_closeEvent; Window wnd = Application.Current.MainWindow; Grid parent = Utilities.FindVisualChild(wnd); parent.Children.Add(imagePreview); } } #endregion } }