SetPasswordDialog.xaml.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. using System.Windows.Controls;
  2. using PDF_Office.Model.Dialog.ToolsDialogs.SaftyDialogs;
  3. using System.Windows;
  4. using System;
  5. using PDF_Office.ViewModels.Dialog.ToolsDialogs.SaftyDialogs;
  6. namespace PDF_Office.Views.Dialog.ToolsDialogs.SaftyDialogs
  7. {
  8. /// <summary>
  9. /// Interaction logic for SetPasswordDialog
  10. /// </summary>
  11. public partial class SetPasswordDialog : UserControl
  12. {
  13. private Boolean canOpenPasswordBoxHasFocus = false;
  14. private Boolean canOpenTextBoxHasFocus = false;
  15. private Boolean canEditPasswordBoxHasFocus = false;
  16. private Boolean canEditTextBoxHasFocus = false;
  17. private string canOpenPasswordBoxName = "CanOpenPasswordBox";
  18. private string canEditPasswordBoxName = "CanEditPasswordBox";
  19. private string canOpenTextBoxName = "CanOpenTextBox";
  20. private string canEditTextBoxName = "CanEditTextBox";
  21. private string showOpenPasswordBoxEyeLabelName = "ShowOpenPasswordBoxEyeLabel";
  22. private string showEditPasswordBoxEyeLabelName = "ShowEditPasswordBoxEyeLabel";
  23. private string showOpenTextBoxEyeLabelName = "ShowOpenTextBoxEyeLabel";
  24. private string showEditTextBoxEyeLabelName = "ShowEditTextBoxEyeLabel";
  25. public SetPasswordDialog()
  26. {
  27. InitializeComponent();
  28. }
  29. private void PasswordBox_GotFocus(object sender, RoutedEventArgs e)
  30. {
  31. var passwordBox = sender as PasswordBox;
  32. if (passwordBox.Name == canOpenPasswordBoxName)
  33. {
  34. canOpenPasswordBoxHasFocus = true;
  35. canOpenTextBoxHasFocus = false;
  36. }
  37. else if (passwordBox.Name == canEditPasswordBoxName)
  38. {
  39. canEditPasswordBoxHasFocus = true;
  40. canEditTextBoxHasFocus = false;
  41. }
  42. }
  43. private void TextBox_GotFocus(object sender, RoutedEventArgs e)
  44. {
  45. var textBox = sender as TextBox;
  46. if (textBox.Name == canOpenTextBoxName)
  47. {
  48. canOpenPasswordBoxHasFocus = false;
  49. canOpenTextBoxHasFocus = true;
  50. }
  51. else if (textBox.Name == canEditTextBoxName)
  52. {
  53. canEditPasswordBoxHasFocus = false;
  54. canEditTextBoxHasFocus = true;
  55. }
  56. }
  57. private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e)
  58. {
  59. var passwordBox = sender as PasswordBox;
  60. if (passwordBox.Name == canOpenPasswordBoxName)
  61. {
  62. if (canOpenTextBoxHasFocus)
  63. {
  64. return;
  65. }
  66. CanOpenTextBox.Text = CanOpenPasswordBox.Password;
  67. SetPasswordDialogModel.PasswordForOpen = CanOpenTextBox.Text;
  68. ((SetPasswordDialogViewModel)this.DataContext).DelegateCanOpenTextChangedCommand.Execute();
  69. }
  70. else if (passwordBox.Name == canEditPasswordBoxName)
  71. {
  72. if (canEditTextBoxHasFocus)
  73. {
  74. return;
  75. }
  76. CanEditTextBox.Text = CanEditPasswordBox.Password;
  77. SetPasswordDialogModel.PasswordForEdit = CanEditTextBox.Text;
  78. ((SetPasswordDialogViewModel)this.DataContext).DelegateCanOpenTextChangedCommand.Execute();
  79. }
  80. }
  81. private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
  82. {
  83. var textBox = sender as TextBox;
  84. if (textBox.Name == canOpenTextBoxName)
  85. {
  86. if (canOpenPasswordBoxHasFocus)
  87. {
  88. return;
  89. }
  90. CanOpenPasswordBox.Password = CanOpenTextBox.Text;
  91. SetPasswordDialogModel.PasswordForOpen = CanOpenPasswordBox.Password;
  92. ((SetPasswordDialogViewModel)this.DataContext).DelegateCanOpenTextChangedCommand.Execute();
  93. }
  94. else if (textBox.Name == canEditTextBoxName)
  95. {
  96. if (canEditPasswordBoxHasFocus)
  97. { return; }
  98. CanEditPasswordBox.Password = CanEditTextBox.Text;
  99. SetPasswordDialogModel.PasswordForEdit = CanEditPasswordBox.Password;
  100. ((SetPasswordDialogViewModel)this.DataContext).DelegateCanOpenTextChangedCommand.Execute();
  101. }
  102. }
  103. private void ShowPasswordBoxEyeLabel_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
  104. {
  105. var label = sender as Label;
  106. if (label.Name == showOpenPasswordBoxEyeLabelName)
  107. {
  108. CanOpenPasswordBox.Visibility = Visibility.Hidden;
  109. ShowOpenPasswordBoxEyeLabel.Visibility = Visibility.Hidden;
  110. CanOpenTextBox.Visibility = Visibility.Visible;
  111. ShowOpenTextBoxEyeLabel.Visibility = Visibility.Visible;
  112. }
  113. else if (label.Name == showEditPasswordBoxEyeLabelName)
  114. {
  115. CanEditPasswordBox.Visibility = Visibility.Hidden;
  116. ShowEditPasswordBoxEyeLabel.Visibility = Visibility.Hidden;
  117. CanEditTextBox.Visibility = Visibility.Visible;
  118. ShowEditTextBoxEyeLabel.Visibility = Visibility.Visible;
  119. }
  120. }
  121. private void ShowTextBoxEyeLabel_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
  122. {
  123. var label = sender as Label;
  124. if (label.Name == showOpenTextBoxEyeLabelName)
  125. {
  126. CanOpenPasswordBox.Visibility = Visibility.Visible;
  127. ShowOpenPasswordBoxEyeLabel.Visibility = Visibility.Visible;
  128. CanOpenTextBox.Visibility = Visibility.Hidden;
  129. ShowOpenTextBoxEyeLabel.Visibility = Visibility.Hidden;
  130. }
  131. else if (label.Name == showEditTextBoxEyeLabelName)
  132. {
  133. CanEditPasswordBox.Visibility = Visibility.Visible;
  134. ShowEditPasswordBoxEyeLabel.Visibility = Visibility.Visible;
  135. CanEditTextBox.Visibility = Visibility.Hidden;
  136. ShowEditTextBoxEyeLabel.Visibility = Visibility.Hidden;
  137. }
  138. }
  139. }
  140. }