using System; using System.Collections.Generic; using System.Linq; using System.Text; 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.Shapes; using System.Text.RegularExpressions; namespace Aitex.UI.RecipeEditor.View { /// /// Interaction logic for RecipeNameInputDlg.xaml /// public partial class RecipeNameInputDlg : Window { public RecipeNameInputDlg(string caption) { InitializeComponent(); labelCaption.Text = caption; this.buttonOK.IsEnabled = false; this.textBoxInput.Focus(); } public RecipeNameInputDlg(string caption, string title) { InitializeComponent(); Title = title; labelCaption.Text = caption; this.buttonOK.IsEnabled = false; this.textBoxInput.Focus(); } private void buttonCancel_Click(object sender, RoutedEventArgs e) { this.DialogResult = false; } private void buttonOK_Click(object sender, RoutedEventArgs e) { this.DialogResult = true; } private void textBoxInput_TextChanged(object sender, TextChangedEventArgs e) { this.buttonOK.IsEnabled = IsValidFileName(textBoxInput.Text); } /// /// 输入文字 /// public string InputText { get { return this.textBoxInput.Text; } set { this.textBoxInput.Text = value; } } /// /// 文件名校验 /// /// /// bool IsValidFileName(string strIn) { string[] paths = strIn.Split(new char[] { '\\' }, StringSplitOptions.RemoveEmptyEntries); Regex regEx = new Regex(@"^[^ \\/:*?""<>|]+([ ]+[^ \\/:*?""<>|]+)*$"); foreach (var path in paths) { if (!regEx.IsMatch(path)) return false; } return true; } } }