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 XImagingXhandler.XDAL; using DataEntity.Share; using DataEntity; using System.Collections.ObjectModel; using XHandler.Class.DataEx; using System.Runtime.Remoting.Channels; using XCommon.Log; using XHandler.Controls; using DataRWDAL; using HandyControl.Data; using XCommon.Tip; using System.Windows.Shell; namespace XHandler.View.MethodProperty { /// /// ShakeProperty.xaml 的交互逻辑 /// public partial class ShakeProperty : UserControl { public MethodShake methodShake { get; set; } public MethodEx method = null; public MethodShake currmethodShake = null; #region 变量 string isrun = ""; string status = ""; string name = ""; string label = ""; int modeVal = 0; double shakeSpeed = 0d; int shakeDuringTime = 0; double shakeMoveSpeed = 0d; double shakeMoveAngle = 0d; int mark = 0; #endregion public ShakeProperty() { InitializeComponent(); } public ShakeProperty(MethodEx method) { mark = 0; InitializeComponent(); tbxCommandLabel.Text = method.method_name; methodShake = new MethodShake(); methodShake.name = method.method_name; methodShake.label = method.method_name; methodShake.status = (method.isEnabled == true ? "enable" : "disable"); methodShake.strIndex = method.strIndex; this.method = method; if (method.tag != null) { methodShake = (MethodShake)method.tag; currmethodShake = methodShake; isrun = methodShake.isrun; status = methodShake.status; name = methodShake.name; label = methodShake.label; modeVal = methodShake.modeVal; shakeSpeed = methodShake.shakeSpeed; shakeDuringTime = methodShake.shakeDuringTime; shakeMoveSpeed= methodShake.shakeMoveSpeed; shakeMoveAngle = methodShake.shakeMoveAngle; if (methodShake.modeVal == 0) { if (this.method != null) { this.method.method_Tipcontent = string.Format("{0};速度:{1};时间:{2}", "振荡", methodShake.shakeSpeed.ToString(), methodShake.shakeDuringTime.ToString()); } } else { if (this.method != null) { this.method.method_Tipcontent = string.Format("{0};速度:{1};角度:{2}", "移动", methodShake.shakeMoveSpeed.ToString(), methodShake.shakeMoveAngle.ToString()); } } } this.DataContext = methodShake; } private void UserControl_Loaded(object sender, RoutedEventArgs e) { mark += 1; try { if (mark > 1) { return; } if (!string.IsNullOrEmpty(name)) { tbxCommandName.Text = name; if(modeVal==0) { radioBtnShake.IsChecked = true; tbxShakeSpeed.Text = methodShake.shakeSpeed.ToString(); tbxShakeDuringTime.Text = methodShake.shakeDuringTime.ToString(); if (this.method != null) { this.method.method_Tipcontent = string.Format("{0};速度:{1};时间:{2}", "振荡", methodShake.shakeSpeed.ToString(), methodShake.shakeDuringTime.ToString()); } } else { radioBtnMove.IsChecked = true; tbxShakeMoveAngle.Text = methodShake.shakeMoveAngle.ToString(); tbxShakeMoveSpeed.Text = methodShake.shakeMoveSpeed.ToString(); if (this.method != null) { this.method.method_Tipcontent = string.Format("{0};速度:{1};角度:{2}", "移动", methodShake.shakeMoveSpeed.ToString(), methodShake.shakeMoveAngle.ToString()); } } } else { radioBtnShake.IsChecked = true; } } catch (Exception ex) { LoggerHelper.ErrorLog("ERROR:", ex); } } private void tbxCommandName_TextChanged(object sender, TextChangedEventArgs e) { try { if (methodShake != null) { methodShake.label = tbxCommandLabel.Text; methodShake.name = tbxCommandName.Text.ToString(); } } catch (Exception ex) { LoggerHelper.ErrorLog("ERROR:", ex); } } private void radioBtnShake_Checked(object sender, RoutedEventArgs e) { try { gridShakeParams.Visibility = Visibility.Visible; gridMoveParams.Visibility = Visibility.Collapsed; if (methodShake != null) { methodShake.modeVal = 0; if (this.method != null) { this.method.method_Tipcontent = string.Format("{0};速度:{1};时间:{2}", "振荡", methodShake.shakeSpeed.ToString(), methodShake.shakeDuringTime.ToString()); } } } catch(Exception ex) { LoggerHelper.ErrorLog("ERROR:", ex); } } private void radioBtnMove_Checked(object sender, RoutedEventArgs e) { try { gridMoveParams.Visibility = Visibility.Visible; gridShakeParams.Visibility = Visibility.Collapsed; if (methodShake != null) { methodShake.modeVal = 1; if (this.method != null) { this.method.method_Tipcontent = string.Format("{0};速度:{1};角度:{2}", "移动", methodShake.shakeMoveSpeed.ToString(), methodShake.shakeMoveAngle.ToString()); } } } catch (Exception ex) { LoggerHelper.ErrorLog("ERROR:", ex); } } private void tbxShakeSpeed_TextChanged(object sender, TextChangedEventArgs e) { try { if (methodShake != null) { methodShake.shakeSpeed = Convert.ToInt32(tbxShakeSpeed.Text); if (this.method != null&&modeVal==0) { this.method.method_Tipcontent = string.Format("{0};速度:{1};时间:{2}", "振荡", methodShake.shakeSpeed.ToString(), methodShake.shakeDuringTime.ToString()); } } } catch (Exception ex) { LoggerHelper.ErrorLog("ERROR:", ex); return; } } private void tbxShakeDuringTime_TextChanged(object sender, TextChangedEventArgs e) { try { if (methodShake != null) { methodShake.shakeDuringTime = Convert.ToInt32(tbxShakeDuringTime.Text); if (this.method != null && modeVal == 0) { this.method.method_Tipcontent = string.Format("{0};速度:{1};时间:{2}", "振荡", methodShake.shakeSpeed.ToString(), methodShake.shakeDuringTime.ToString()); } } } catch (Exception ex) { LoggerHelper.ErrorLog("ERROR:", ex); return; } } private void tbxShakeMoveSpeed_TextChanged(object sender, TextChangedEventArgs e) { try { if (methodShake != null) { methodShake.shakeMoveSpeed = Convert.ToInt32(tbxShakeMoveSpeed.Text); if (this.method != null && modeVal == 1) { this.method.method_Tipcontent = string.Format("{0};速度:{1};角度:{2}", "移动", methodShake.shakeMoveSpeed.ToString(), methodShake.shakeMoveAngle.ToString()); } } } catch (Exception ex) { LoggerHelper.ErrorLog("ERROR:", ex); return; } } private void tbxShakeMoveAngle_TextChanged(object sender, TextChangedEventArgs e) { try { if (methodShake != null) { methodShake.shakeMoveAngle = Convert.ToInt32(tbxShakeMoveAngle.Text); if (this.method != null && modeVal == 1) { this.method.method_Tipcontent = string.Format("{0};速度:{1};角度:{2}", "移动", methodShake.shakeMoveSpeed.ToString(), methodShake.shakeMoveAngle.ToString()); } } } catch (Exception ex) { LoggerHelper.ErrorLog("ERROR:", ex); return; } } } }