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;
}
}
}