using System; using System.Text.RegularExpressions; using System.Windows; using System.Windows.Controls; using System.Windows.Input; namespace ComPDFKit.Controls.PDFControlUI { public partial class CPDFSearchInputUI : UserControl { public enum MoveDirection { Previous = 0, Next = 1 }; public event EventHandler SearchEvent; public event EventHandler ClearEvent; public event EventHandler MoveResultEvent; public string SearchKeyWord { get { return SearchTextBox.Text; } set { SearchTextBox.Text = value; } } public string ReplaceWord { get { return ReplaceTextBox.Text; } set { ReplaceTextBox.Text = value; } } public double InputTextBoxWidth { get { return SearchTextBox.Width; } set { SearchTextBox.Width = value; ReplaceTextBox.Width = value; } } public double InputTextBoxHeight { get { return SearchTextBox.Height; } set { SearchTextBox.Height = value; ReplaceTextBox.Height = value; } } public CPDFSearchInputUI() { InitializeComponent(); } private void SearchTextBox_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter && string.IsNullOrEmpty(SearchKeyWord)==false) { SearchEvent?.Invoke(this, SearchKeyWord); } } private void TextClear_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { SearchKeyWord = string.Empty; ClearEvent?.Invoke(this,new EventArgs()); } private void SearchBtn_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(SearchKeyWord) == false) { Regex regex = new Regex(@"\s+"); string result = regex.Replace(SearchKeyWord, " "); SearchEvent?.Invoke(this, result); } } private void ReplaceTextClear_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { ReplaceTextBox.Text = string.Empty; } private void Previous_Click(object sender, RoutedEventArgs e) { MoveResultEvent?.Invoke(this,MoveDirection.Previous); } private void Next_Click(object sender, RoutedEventArgs e) { MoveResultEvent?.Invoke(this,MoveDirection.Next); } private void SearchTextBox_TextChanged(object sender, TextChangedEventArgs e) { if (string.IsNullOrEmpty(SearchKeyWord)) { ClearEvent?.Invoke(this, new EventArgs()); } } } }