using NPOI.POIFS.Properties; using System; using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; 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 XImagingXhandler.XDAL; namespace XHandler.View.MethodProperty { /// /// SaveMethodDlg.xaml 的交互逻辑 /// public partial class SaveMethodDlg : UserControl { public static readonly DependencyProperty methodFullPathProperty = DependencyProperty.Register("methodFullPath", typeof(string), typeof(SaveMethodDlg), new UIPropertyMetadata("")); public string methodFullPath { get { return (string)GetValue(methodFullPathProperty); } set { SetValue(methodFullPathProperty, value); } } public event EventHandler closeEvent; public event EventHandler saveEvent; public SaveMethodDlg() { InitializeComponent(); DataContext = this; } private void Button_Click(object sender, RoutedEventArgs e) { if (EventResponseController.Instance.CanExecute() == false) return; closeEvent?.Invoke(this, EventArgs.Empty); } private void btnSave_Click(object sender, RoutedEventArgs e) { if (EventResponseController.Instance.CanExecute() == false) return; if (string.IsNullOrEmpty(textboxMethodName.Text.Trim())) { textboxMethodName.BorderThickness = new Thickness(1, 1, 1, 1); tbTips.Text = Properties.Resources.strCannotEmpty; return; } else { string shortDir = ConfigurationManager.AppSettings["MethodFileBasePath"].ToString(); string fullName = shortDir + "\\" + textboxMethodName.Text.Trim() + ".xmed"; if (!Directory.Exists(shortDir)) { Directory.CreateDirectory(shortDir); } if (File.Exists(fullName)) { textboxMethodName.BorderThickness = new Thickness(1, 1, 1, 1); tbTips.Text = Properties.Resources.strMethodExist; return; } Regex regex = new Regex(@"^[^\/\:\*\?\""\<\>\|\,]+$"); Match m = regex.Match(textboxMethodName.Text.Trim()); if (!m.Success) { textboxMethodName.BorderThickness = new Thickness(1, 1, 1, 1); tbTips.Text = Properties.Resources.strNameContainsIllegalChar; return; } textboxMethodName.BorderThickness = new Thickness(0, 0, 0, 0); tbTips.Text = ""; methodFullPath = fullName; saveEvent?.Invoke(this, EventArgs.Empty); } } private void textboxMethodName_TextChanged(object sender, TextChangedEventArgs e) { } } }