using System; using System.Collections.Generic; 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.Shapes; namespace Venus_MainPages.Views { /// /// InputFileNameDialogView.xaml 的交互逻辑 /// public partial class InputFileNameDialogView : Window { public InputFileNameDialogView() { InitializeComponent(); } public InputFileNameDialogView(string displayName) { InitializeComponent(); this.Title = displayName; } 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) { if (textBoxInput.Text == "") { this.buttonOK.IsEnabled = false; } else { this.buttonOK.IsEnabled = IsValidFileName(textBoxInput.Text); } } 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; } public string FileName { get { return this.textBoxInput.Text; } set { this.textBoxInput.Text = value; } } } }