Browse Source

批量安全-其他

liyijie 2 years ago
parent
commit
5fc9e68b60

+ 37 - 1
PDF Office/Model/Dialog/HomePageToolsDialogs/HomePageBatchProcessing/HomePageSetPasswordDialogModel.cs

@@ -13,7 +13,7 @@ namespace PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePageBatchProcessing
 
         public bool CanEdit { get; set; }
 
-        public static string PasswordForOpen { get; set; }
+        public static string PasswordForOpen = "";
 
         public static string PasswordForEdit { get; set; }
 
@@ -33,6 +33,42 @@ namespace PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePageBatchProcessing
             ExceptAbstrat
         }
 
+        public enum EnumNeedPassword
+        {
+            StatusNeedOpenPassword = 1 << 0,
+            StatusNeedPermissionsPassword = 1 << 1
+        }
+
+        public enum EnumPermissionsMod
+        {
+            StatusUnknown = 0,
+            StatusRestrictPrinting = 1 << 0,
+            StatusRestrictCopying = 1 << 1
+        }
+
+        public static CPDFPermissionsInfo CreatePermissionsInfo(EnumPermissionsMod enumPermissionsMod)
+        {
+            CPDFPermissionsInfo permissionsInfo = new CPDFPermissionsInfo();
+            permissionsInfo.AllowsDocumentAssembly = true;
+            permissionsInfo.AllowsDocumentChanges = true;
+            permissionsInfo.AllowsPrinting = true;
+            permissionsInfo.AllowsCopying = true;
+            permissionsInfo.AllowsCommenting = true;
+            permissionsInfo.AllowsFormFieldEntry = true;
+            permissionsInfo.AllowsHighQualityPrinting = true;
+            permissionsInfo.AllowsFormFieldEntry = true;
+            if ((enumPermissionsMod & EnumPermissionsMod.StatusRestrictPrinting) > 0)
+            {
+                permissionsInfo.AllowsPrinting = false;
+                permissionsInfo.AllowsHighQualityPrinting = false;
+            }
+            if ((enumPermissionsMod & EnumPermissionsMod.StatusRestrictCopying) > 0)
+            {
+                permissionsInfo.AllowsCopying = false;
+            }
+            return permissionsInfo;
+        }
+
         ///<returns>
         ///生成带有指定权限的CPDFPermissionsInfo对象
         ///</returns>

+ 311 - 28
PDF Office/ViewModels/Dialog/HomePageToolsDialogs/HomePageBatchProcessing/HomePageSetPasswordDialogViewModel.cs

@@ -12,7 +12,11 @@ using System.IO;
 using System.Linq;
 using System.Windows;
 using System.Windows.Forms;
+using CheckBox = System.Windows.Controls.CheckBox;
 using DialogResult = Prism.Services.Dialogs.DialogResult;
+using static PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePageBatchProcessing.HomePageSetPasswordDialogModel;
+using PDF_Office.Model.Dialog.ToolsDialogs.SaftyDialogs;
+using PDF_Office.Helper;
 
 namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcessing
 {
@@ -53,6 +57,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             }
         }
 
+        private EnumPermissionsMod enumPermissionsMod = EnumPermissionsMod.StatusUnknown | EnumPermissionsMod.StatusRestrictPrinting | EnumPermissionsMod.StatusRestrictCopying;
+
         private string _changeMod = "0";
         ///<value>
         ///"0"为ChangeMod.None;
@@ -84,6 +90,64 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
                 _printMod = value;
             }
         }
+        private string _isEnableConfirm = "False";
+        public string IsEnabledConfirm
+        {
+            get { return _isEnableConfirm; }
+            set
+            {
+                SetProperty(ref _isEnableConfirm, value);
+            }
+        }
+
+        private bool _enableConfirm = false;
+        public bool EnableConfirm
+        {
+            get { return _enableConfirm; }
+            set { SetProperty(ref _enableConfirm, value); }
+        }
+
+        private string _openPassword = "";
+        public string OpenPassword
+        {
+            get { return _openPassword; }
+            set
+            {
+                SetProperty(ref _openPassword, value);
+                CheckEnableConfirmEncrypt();
+            }
+        }
+
+        private string _permissionsPassword = "";
+        public string PermissionsPassword
+        {
+            get { return _permissionsPassword; }
+            set
+            {
+                SetProperty(ref _permissionsPassword, value);
+                CheckEnableConfirmEncrypt();
+            }
+        }
+
+        private string _openPasswordMsg = "Open Password";
+        public string OpenPasswordMsg
+        {
+            get { return _openPasswordMsg; }
+            set
+            {
+                SetProperty(ref _openPasswordMsg, value);
+            }
+        }
+
+        private string _permissionsPasswordMsg = "Permission Password";
+        public string PermissionsPasswordMsg
+        {
+            get { return _permissionsPasswordMsg; }
+            set
+            {
+                SetProperty(ref _permissionsPasswordMsg, value);
+            }
+        }
 
         private string safetyGridIsEnabled = "True";
         public string SafetyGridIsEnabled
@@ -111,16 +175,101 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             }
         }
 
-        private string _isEnableConfirm = "False";
-        public string IsEnabledConfirm
+        private Visibility _openTextVisibility = Visibility.Collapsed;
+        public Visibility OpenTextVisibility
         {
-            get { return _isEnableConfirm; }
+            get { return _openTextVisibility; }
             set
             {
-                SetProperty(ref _isEnableConfirm, value);
+                SetProperty(ref _openTextVisibility, value);
+            }
+        }
+
+        private Visibility _openPasswordVisibility = Visibility.Visible;
+        public Visibility OpenPasswordVisibility
+        {
+            get { return _openPasswordVisibility; }
+            set
+            {
+                if (value == Visibility.Visible)
+                {
+                    OpenTextVisibility = Visibility.Collapsed;
+                }
+                else
+                {
+                    OpenTextVisibility = Visibility.Visible;
+                }
+                SetProperty(ref _openPasswordVisibility, value);
             }
         }
 
+        private Visibility _permissionsPasswordVisibility = Visibility.Visible;
+        public Visibility PermissionsPasswordVisibility
+        {
+            get { return _permissionsPasswordVisibility; }
+            set
+            {
+                if (value == Visibility.Visible)
+                {
+                    PermissionsTextVisibility = Visibility.Collapsed;
+                }
+                else
+                {
+                    PermissionsTextVisibility = Visibility.Visible;
+                }
+                SetProperty(ref _permissionsPasswordVisibility, value);
+            }
+        }
+
+        private Visibility _permissionsTextVisibility = Visibility.Collapsed;
+        public Visibility PermissionsTextVisibility
+        {
+            get { return _permissionsTextVisibility; }
+            set { SetProperty(ref _permissionsTextVisibility, value); }
+        }
+
+        private bool? _isRestrictPrinting;
+        public bool? IsRestrictPrinting
+        {
+            get { return _isRestrictPrinting; }
+            set { SetProperty(ref _isRestrictPrinting, value); }
+        }
+
+        private bool? _isRestrictCopying;
+        public bool? IsRestrictCopying
+        {
+            get { return _isRestrictCopying; }
+            set { SetProperty(ref _isRestrictCopying, value); }
+        }
+
+        private bool _needOpenPassword;
+        public bool NeedOpenPassword
+        {
+            get { return _needOpenPassword; }
+            set { SetProperty(ref _needOpenPassword, value); }
+        }
+
+        private bool _needPermissionsPassword;
+        public bool NeedPermissionsPassword
+        {
+            get { return _needPermissionsPassword; }
+            set { SetProperty(ref _needPermissionsPassword, value); }
+        }
+
+        private bool _isOpenPasswordDisplayed;
+        public bool IsOpenPasswordDisplayed
+        {
+            get { return _isOpenPasswordDisplayed; }
+            set { SetProperty(ref _isOpenPasswordDisplayed, value); }
+        }
+
+        private bool _isPermissionsPasswordDisplayed;
+        public bool IsPermissionsPasswordDisplayed
+        {
+            get { return _isPermissionsPasswordDisplayed; }
+            set { SetProperty(ref _isPermissionsPasswordDisplayed, value); }
+        }
+
         private DataTable pdfDataTable = new DataTable();
         public DataTable PDFDataTable
         {
@@ -176,6 +325,16 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
 
         #region 委托声明
 
+        public DelegateCommand<object> DisplayPasswordCommand { get; set; }
+
+        public DelegateCommand<object> SetOpenPasswordCommand { get; set; }
+
+        public DelegateCommand<object> SetPermissionsPasswordCommand { get; set; }
+
+        public DelegateCommand<object> SetRestrictCommand { get; set; }
+
+        public DelegateCommand EncryptCommand { get; set; }
+
         public DelegateCommand DelegateSetOpenCommand { get; set; }
 
         public DelegateCommand DelegateSetEditCommand { get; set; }
@@ -186,6 +345,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
 
         public DelegateCommand DelegateConfirmEncryptCommand { get; set; }
 
+        public DelegateCommand CancelEncryptCommand { get; set; }
+
         public DelegateCommand DelegateCancelEncryptCommand { get; set; }
 
         public DelegateCommand ADDPDFCommand { get; set; }
@@ -205,11 +366,19 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             PDFDataTable.Columns.Add("FileState");
             HomePageSetPasswordDialogModel.PasswordForOpen = "";
             HomePageSetPasswordDialogModel.PasswordForEdit = "";
+
+            DisplayPasswordCommand = new DelegateCommand<object>(DisplayPassword);
+            SetOpenPasswordCommand = new DelegateCommand<object>(SetOpenPassword);
+            SetPermissionsPasswordCommand = new DelegateCommand<object>(SetPermissionsPassword);
+            SetRestrictCommand = new DelegateCommand<object>(SetRestrict);
+            EncryptCommand = new DelegateCommand(ConfirmEncrypt);
+
             DelegateConfirmEncryptCommand = new DelegateCommand(ConfirmEncrypt);
             DelegateSetOpenCommand = new DelegateCommand(SetCanOpen);
             DelegateSetEditCommand = new DelegateCommand(SetCanEdit);
             DelegateCanOpenTextChangedCommand = new DelegateCommand(CanOpenTextChanged);
             DelegateCanEditTextChangedCommand = new DelegateCommand(CanEditTextChanged);
+
             ADDPDFCommand = new DelegateCommand(addpdf);
             ADDOpenedPDFCommand = new DelegateCommand(addOpenedPDFFiles);
             ADDPDFFilesCommand = new DelegateCommand(addpdffiles);
@@ -222,7 +391,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
         {
             if (setPasswordDialogModel.CanOpen)
             {
-                if (HomePageSetPasswordDialogModel.PasswordForOpen.Length > 0)
+                if (SetPasswordDialogModel.PasswordForOpen.Length > 0)
                 {
                     IsEnabledConfirm = "True";
                     return;
@@ -230,7 +399,7 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             }
             if (setPasswordDialogModel.CanEdit)
             {
-                if (HomePageSetPasswordDialogModel.PasswordForEdit.Length > 0)
+                if (SetPasswordDialogModel.PasswordForEdit.Length > 0)
                 {
                     IsEnabledConfirm = "True";
                     return;
@@ -239,17 +408,38 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             IsEnabledConfirm = "False";
         }
 
-        private void InitPermissionsDictionary(ref Dictionary<string, HomePageSetPasswordDialogModel.PrintMod> GetPrintMod, ref Dictionary<string, HomePageSetPasswordDialogModel.ChangeMod> GetChangeMod)
+        private void CheckEnableConfirmEncrypt()
         {
-            GetPrintMod.Add("0", HomePageSetPasswordDialogModel.PrintMod.None);
-            GetPrintMod.Add("1", HomePageSetPasswordDialogModel.PrintMod.LowDpi);
-            GetPrintMod.Add("2", HomePageSetPasswordDialogModel.PrintMod.HighDpi);
+            EnableConfirm = true;
+            if (!(NeedOpenPassword || NeedPermissionsPassword))
+            {
+                EnableConfirm = false;
+            }
+            if (NeedOpenPassword && string.IsNullOrEmpty(OpenPassword))
+            {
+                EnableConfirm = false;
+            }
+            if (NeedPermissionsPassword && string.IsNullOrEmpty(PermissionsPassword))
+            {
+                EnableConfirm = false;
+            }
+            if (NeedPermissionsPassword && (!((bool)IsRestrictCopying || (bool)IsRestrictPrinting)))
+            {
+                EnableConfirm = false;
+            }
+        }
 
-            GetChangeMod.Add("0", HomePageSetPasswordDialogModel.ChangeMod.None);
-            GetChangeMod.Add("1", HomePageSetPasswordDialogModel.ChangeMod.ChangePage);
-            GetChangeMod.Add("2", HomePageSetPasswordDialogModel.ChangeMod.FormAndSignature);
-            GetChangeMod.Add("3", HomePageSetPasswordDialogModel.ChangeMod.AnnotAndFormAndSignature);
-            GetChangeMod.Add("4", HomePageSetPasswordDialogModel.ChangeMod.ExceptAbstrat);
+        private void InitPermissionsDictionary(ref Dictionary<string, SetPasswordDialogModel.PrintMod> GetPrintMod, ref Dictionary<string, SetPasswordDialogModel.ChangeMod> GetChangeMod)
+        {
+            GetPrintMod.Add("0", SetPasswordDialogModel.PrintMod.None);
+            GetPrintMod.Add("1", SetPasswordDialogModel.PrintMod.LowDpi);
+            GetPrintMod.Add("2", SetPasswordDialogModel.PrintMod.HighDpi);
+
+            GetChangeMod.Add("0", SetPasswordDialogModel.ChangeMod.None);
+            GetChangeMod.Add("1", SetPasswordDialogModel.ChangeMod.ChangePage);
+            GetChangeMod.Add("2", SetPasswordDialogModel.ChangeMod.FormAndSignature);
+            GetChangeMod.Add("3", SetPasswordDialogModel.ChangeMod.AnnotAndFormAndSignature);
+            GetChangeMod.Add("4", SetPasswordDialogModel.ChangeMod.ExceptAbstrat);
         }
         #endregion
         #region 逻辑函数
@@ -275,29 +465,120 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             CheckCanConfirmEncrypt();
         }
 
+        public void DisplayPassword(object e)
+        {
+            var chk = e as CheckBox;
+            if (chk != null)
+            {
+                if (chk.Name == "DisplayOpenPasswordChk")
+                {
+                    if (chk.IsChecked == true)
+                    {
+                        OpenPasswordVisibility = Visibility.Collapsed;
+                    }
+                    else
+                    {
+                        OpenPasswordVisibility = Visibility.Visible;
+                    }
+                }
+                else
+                {
+                    if (chk.IsChecked == true)
+                    {
+                        PermissionsPasswordVisibility = Visibility.Collapsed;
+                    }
+                    else
+                    {
+                        PermissionsPasswordVisibility = Visibility.Visible;
+                    }
+                }
+            }
+        }
+
+        public void SetOpenPassword(object e)
+        {
+            var chk = e as CheckBox;
+            if (chk != null)
+            {
+                IsOpenPasswordDisplayed = false;
+                OpenPasswordVisibility = Visibility.Visible;
+            }
+            CheckEnableConfirmEncrypt();
+        }
+
+        public void SetPermissionsPassword(object e)
+        {
+            var chk = e as CheckBox;
+            if (chk != null)
+            {
+                IsPermissionsPasswordDisplayed = false;
+                PermissionsPasswordVisibility = Visibility.Visible;
+                if (chk.IsChecked == true)
+                {
+                    IsRestrictPrinting = true;
+                    IsRestrictCopying = true;
+                }
+                else
+                {
+                    IsRestrictPrinting = false;
+                    IsRestrictCopying = false;
+                }
+            }
+            CheckEnableConfirmEncrypt();
+        }
+
+        public void SetRestrict(object e)
+        {
+            var chk = e as CheckBox;
+            if (chk != null)
+            {
+
+                if ((bool)chk.IsChecked)
+                {
+                    if (chk.Tag.ToString() == "Printing")
+                    {
+                        enumPermissionsMod |= EnumPermissionsMod.StatusRestrictPrinting;
+                    }
+                    else if (chk.Tag.ToString() == "Copying")
+                    {
+                        enumPermissionsMod |= EnumPermissionsMod.StatusRestrictCopying;
+                    }
+                }
+                else
+                {
+                    if (chk.Tag.ToString() == "Printing")
+                    {
+                        enumPermissionsMod -= EnumPermissionsMod.StatusRestrictPrinting;
+                    }
+                    else if (chk.Tag.ToString() == "Copying")
+                    {
+                        enumPermissionsMod -= EnumPermissionsMod.StatusRestrictCopying;
+                    }
+                }
+            }
+            CheckEnableConfirmEncrypt();
+        }
+
         public void ConfirmEncrypt()
         {
             HomePageBatchProcessingDialogModel.closeDialog = true;
             SafetyGridIsEnabled = "False";
             string openPassword = "";
-            string editPassword = "";
+            string permissionsPassword = "";
             CPDFPermissionsInfo permissionsInfo = new CPDFPermissionsInfo();
-            if (setPasswordDialogModel.CanOpen)
+            if (NeedOpenPassword)
             {
-                if (!string.IsNullOrEmpty(HomePageSetPasswordDialogModel.PasswordForOpen))
+                if (!string.IsNullOrEmpty(OpenPassword))
                 {
-                    openPassword = HomePageSetPasswordDialogModel.PasswordForOpen;
+                    openPassword = OpenPassword;
                 }
             }
-            if (setPasswordDialogModel.CanEdit)
+            if (NeedPermissionsPassword)
             {
-                if (!string.IsNullOrEmpty(HomePageSetPasswordDialogModel.PasswordForEdit))
+                if (!string.IsNullOrEmpty(PermissionsPassword))
                 {
-                    editPassword = HomePageSetPasswordDialogModel.PasswordForEdit;
-                    Dictionary<string, HomePageSetPasswordDialogModel.PrintMod> GetPrintMod = new Dictionary<string, HomePageSetPasswordDialogModel.PrintMod>();
-                    Dictionary<string, HomePageSetPasswordDialogModel.ChangeMod> GetChangeMod = new Dictionary<string, HomePageSetPasswordDialogModel.ChangeMod>(); ;
-                    InitPermissionsDictionary(ref GetPrintMod, ref GetChangeMod);
-                    permissionsInfo = setPasswordDialogModel.CreatePermissionsInfo(GetPrintMod[PrintMod], GetChangeMod[ChangeMod]);
+                    permissionsPassword = PermissionsPassword;
+                    permissionsInfo = CreatePermissionsInfo(enumPermissionsMod);
                 }
             }
             fileNamesIndex = 0;
@@ -338,8 +619,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
                 }
                 //FileInfo fileinfo = new FileInfo(filename);
                 //string file_size = (((float)fileinfo.Length) / 1024).ToString() + " K";
-                document.Encrypt(openPassword, editPassword, permissionsInfo);
-                document.WriteToFilePath(filename + "SetPassword");
+                document.Encrypt(openPassword, permissionsPassword, permissionsInfo);
+                document.WriteToFilePath(CommonHelper.CreateFilePath(filename + "SetPassword"));
                 PDFDataTable.Rows[fileNamesIndex]["FileState"] = "complete";
                 PDFCurrentDataTable.Rows[fileNamesIndex]["FileState"] = "complete";
                 fileNamesIndex++;
@@ -348,6 +629,8 @@ namespace PDF_Office.ViewModels.Dialog.HomePageToolsDialogs.HomePageBatchProcess
             SafetyGridIsEnabled = "True";
             HomePageBatchProcessingDialogModel.closeDialog = false;
         }
+
+
         #endregion
 
         #region 批量处理逻辑函数

+ 266 - 64
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageBatchProcessing/HomePageSetPasswordDialog.xaml

@@ -2,6 +2,7 @@
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+              xmlns:help="clr-namespace:PDF_Office.Helper"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:cus="clr-namespace:PDF_Office.CustomControl"
              xmlns:prism="http://prismlibrary.com/"
@@ -11,9 +12,225 @@
              d:DesignWidth="818"
              mc:Ignorable="d">
     <UserControl.Resources>
-        <ResourceDictionary>
+        
             <convert:UnVisivleConvert x:Key="unVisibleConvert"/>
-        </ResourceDictionary>
+        
+        <Style TargetType="CheckBox" x:Key="EyeCheckbox">
+            <Setter Property="Cursor" Value="Hand"></Setter>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="{x:Type CheckBox}">
+                        <Grid>
+
+                            <Border Background="Transparent"
+                                BorderBrush="White"
+                                BorderThickness="1" 
+                                CornerRadius="0" 
+                                VerticalAlignment="Center"  >
+                                <Grid Height="{TemplateBinding Height}"
+                                  Width="{Binding ActualHeight,RelativeSource={RelativeSource Self}}">
+                                    <Ellipse x:Name="ellipse"
+                                         Fill="Blue" Margin="2" />
+                                </Grid>
+                            </Border>
+                        </Grid>
+                        <ControlTemplate.Triggers>
+                            <Trigger Property="IsChecked" Value="True">
+                                <Setter TargetName="ellipse" Property="Fill" Value="Red">
+                                </Setter>
+                            </Trigger>
+                            <Trigger Property="IsChecked" Value="False">
+                                <Setter TargetName="ellipse" Property="Fill" Value="Blue">
+                                </Setter>
+                            </Trigger>
+                        </ControlTemplate.Triggers>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style TargetType="PasswordBox" x:Key="OpenPasswordBoxStyle">
+            <Setter Property="Height" Value="32"/>
+            <Setter Property="FontSize" Value="14"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="PasswordBox">
+                        <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" 
+                                    BorderThickness="{TemplateBinding BorderThickness}" 
+                                    Background="{TemplateBinding Background}" 
+                                    SnapsToDevicePixels="True"
+                                    CornerRadius="5">
+                            <Grid>
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition></ColumnDefinition>
+                                    <ColumnDefinition Width="24"></ColumnDefinition>
+                                </Grid.ColumnDefinitions>
+                                <Grid Grid.Column="0">
+                                    <TextBlock Text="{TemplateBinding help:PasswordBoxHelper.DisplayText}" Grid.Column="1" VerticalAlignment="Center" Foreground="#BBB"
+                                           Name="markText" Visibility="Collapsed" FontSize="12" />
+                                    <ScrollViewer x:Name="PART_ContentHost" Focusable="false"
+                                                  HorizontalScrollBarVisibility="Hidden" 
+                                                  VerticalScrollBarVisibility="Hidden"
+                                                  VerticalAlignment="Center" MinHeight="20"/>
+                                </Grid>
+                            </Grid>
+                        </Border>
+
+                        <ControlTemplate.Triggers>
+                            <Trigger Property="IsEnabled" Value="false">
+                                <Setter Property="Opacity" TargetName="border" Value="0.56"/>
+                            </Trigger>
+                            <Trigger Property="IsMouseOver" Value="true">
+                                <Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/>
+                            </Trigger>
+                            <Trigger Property="IsKeyboardFocused" Value="true">
+                                <Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/>
+                            </Trigger>
+                            <DataTrigger Binding="{Binding Path = OpenPassword}" Value="">
+                                <Setter Property="Visibility" TargetName="markText" Value="Visible"/>
+                            </DataTrigger>
+                        </ControlTemplate.Triggers>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+
+        <Style TargetType="TextBox" x:Key="OpenPasswordTextBoxStyle">
+            <Setter Property="Height" Value="32"/>
+            <Setter Property="FontSize" Value="14"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="TextBox">
+                        <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" 
+                                    BorderThickness="{TemplateBinding BorderThickness}" 
+                                    Background="{TemplateBinding Background}" 
+                                    SnapsToDevicePixels="True"
+                                    CornerRadius="5">
+                            <Grid>
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition></ColumnDefinition>
+                                    <ColumnDefinition Width="24"></ColumnDefinition>
+                                </Grid.ColumnDefinitions>
+                                <Grid Grid.Column="0">
+                                    <TextBlock Text="{TemplateBinding help:PasswordBoxHelper.DisplayText}" Grid.Column="1" VerticalAlignment="Center" Foreground="#BBB"
+                                           Name="markText" Visibility="Collapsed" FontSize="12" />
+                                    <ScrollViewer x:Name="PART_ContentHost" Focusable="false"
+                                                  HorizontalScrollBarVisibility="Hidden" 
+                                                  VerticalScrollBarVisibility="Hidden"
+                                                  VerticalAlignment="Center" MinHeight="20"/>
+                                </Grid>
+                            </Grid>
+                        </Border>
+
+                        <ControlTemplate.Triggers>
+                            <Trigger Property="IsEnabled" Value="false">
+                                <Setter Property="Opacity" TargetName="border" Value="0.56"/>
+                            </Trigger>
+                            <Trigger Property="IsMouseOver" Value="true">
+                                <Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/>
+                            </Trigger>
+                            <Trigger Property="IsKeyboardFocused" Value="true">
+                                <Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/>
+                            </Trigger>
+                            <DataTrigger Binding="{Binding Path = OpenPassword}" Value="">
+                                <Setter Property="Visibility" TargetName="markText" Value="Visible"/>
+                            </DataTrigger>
+                        </ControlTemplate.Triggers>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+
+        <Style TargetType="PasswordBox" x:Key="PermissionsPasswordBoxStyle">
+            <Setter Property="Height" Value="32"/>
+            <Setter Property="FontSize" Value="14"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="PasswordBox">
+                        <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" 
+                                    BorderThickness="{TemplateBinding BorderThickness}" 
+                                    Background="{TemplateBinding Background}" 
+                                    SnapsToDevicePixels="True"
+                                    CornerRadius="5">
+                            <Grid>
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition></ColumnDefinition>
+                                    <ColumnDefinition Width="24"></ColumnDefinition>
+                                </Grid.ColumnDefinitions>
+                                <Grid Grid.Column="0">
+                                    <TextBlock Text="{TemplateBinding help:PasswordBoxHelper.DisplayText}" Grid.Column="1" VerticalAlignment="Center" Foreground="#BBB"
+                                           Name="markText" Visibility="Collapsed" FontSize="12" />
+                                    <ScrollViewer x:Name="PART_ContentHost" Focusable="false"
+                                                  HorizontalScrollBarVisibility="Hidden" 
+                                                  VerticalScrollBarVisibility="Hidden"
+                                                  VerticalAlignment="Center" MinHeight="20"/>
+                                </Grid>
+                            </Grid>
+                        </Border>
+
+                        <ControlTemplate.Triggers>
+                            <Trigger Property="IsEnabled" Value="false">
+                                <Setter Property="Opacity" TargetName="border" Value="0.56"/>
+                            </Trigger>
+                            <Trigger Property="IsMouseOver" Value="true">
+                                <Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/>
+                            </Trigger>
+                            <Trigger Property="IsKeyboardFocused" Value="true">
+                                <Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/>
+                            </Trigger>
+                            <DataTrigger Binding="{Binding Path = PermissionsPassword}" Value="">
+                                <Setter Property="Visibility" TargetName="markText" Value="Visible"/>
+                            </DataTrigger>
+                        </ControlTemplate.Triggers>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+
+        <Style TargetType="TextBox" x:Key="PermissionsPasswordTextBoxStyle">
+            <Setter Property="Height" Value="32"/>
+            <Setter Property="FontSize" Value="14"/>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="TextBox">
+                        <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" 
+                                    BorderThickness="{TemplateBinding BorderThickness}" 
+                                    Background="{TemplateBinding Background}" 
+                                    SnapsToDevicePixels="True"
+                                    CornerRadius="5">
+                            <Grid>
+                                <Grid.ColumnDefinitions>
+                                    <ColumnDefinition></ColumnDefinition>
+                                    <ColumnDefinition Width="24"></ColumnDefinition>
+                                </Grid.ColumnDefinitions>
+                                <Grid Grid.Column="0">
+                                    <TextBlock Text="{TemplateBinding help:PasswordBoxHelper.DisplayText}" Grid.Column="1" VerticalAlignment="Center" Foreground="#BBB"
+                                           Name="markText" Visibility="Collapsed" FontSize="12" />
+                                    <ScrollViewer x:Name="PART_ContentHost" Focusable="false"
+                                                  HorizontalScrollBarVisibility="Hidden" 
+                                                  VerticalScrollBarVisibility="Hidden"
+                                                  VerticalAlignment="Center" MinHeight="20"/>
+                                </Grid>
+                            </Grid>
+                        </Border>
+
+                        <ControlTemplate.Triggers>
+                            <Trigger Property="IsEnabled" Value="false">
+                                <Setter Property="Opacity" TargetName="border" Value="0.56"/>
+                            </Trigger>
+                            <Trigger Property="IsMouseOver" Value="true">
+                                <Setter Property="BorderBrush" TargetName="border" Value="#FF7EB4EA"/>
+                            </Trigger>
+                            <Trigger Property="IsKeyboardFocused" Value="true">
+                                <Setter Property="BorderBrush" TargetName="border" Value="#FF569DE5"/>
+                            </Trigger>
+                            <DataTrigger Binding="{Binding Path = PermissionsPassword}" Value="">
+                                <Setter Property="Visibility" TargetName="markText" Value="Visible"/>
+                            </DataTrigger>
+                        </ControlTemplate.Triggers>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
     </UserControl.Resources>
 
     <Grid IsEnabled="{Binding SafetyGridIsEnabled}">
@@ -128,74 +345,59 @@
         </Grid>
         <Grid Grid.Column="1" Background="WhiteSmoke" IsEnabled="{Binding SetSafetyGridIsEnabled}">
             <Grid.RowDefinitions>
-                <RowDefinition Height="268*"/>
-                <RowDefinition Height="268*"/>
+                <RowDefinition Height="536*"/>
                 <RowDefinition Height="64*"  MaxHeight="64"/>
             </Grid.RowDefinitions>
-            <Grid Grid.Row="0">
-                <StackPanel Margin="15,23,0,0">
-                    <TextBlock Text="设置密码" Width="48" Height="20" HorizontalAlignment="Left"/>
-                    <StackPanel Margin="0,11,0,0">
-                        <CheckBox x:Name="CanOpenCheckBox" IsChecked="{Binding CanOpen}" Margin="0,0,0,10" Command="{Binding DelegateSetOpenCommand}">
-                            <TextBlock Text="开启文档口令"></TextBlock>
-                        </CheckBox>
-                        <Grid HorizontalAlignment="Left" Width="228">
-                            <PasswordBox x:Name="CanOpenPasswordBox" Width="228" Height="24" Visibility="Visible" VerticalAlignment="Center"
-                                     GotFocus="PasswordBox_GotFocus" PasswordChanged="PasswordBox_PasswordChanged" IsEnabled="{Binding ElementName=CanOpenCheckBox, Path=IsChecked}">
-                            </PasswordBox>
-                            <TextBox x:Name="CanOpenTextBox" Width="228"  Height="24" Visibility="Hidden" VerticalAlignment="Center"
-                                 GotFocus="TextBox_GotFocus" TextChanged="TextBox_TextChanged" >
-                            </TextBox>
-                            <Label x:Name="ShowOpenPasswordBoxEyeLabel" HorizontalAlignment="Right" Margin="0,3,0,3" 
-                               MouseLeftButtonUp="ShowPasswordBoxEyeLabel_MouseLeftButtonUp">
-                                <Border Height="23" Width="27" Background="MediumVioletRed" ></Border>
-                            </Label>
-                            <Label x:Name="ShowOpenTextBoxEyeLabel" HorizontalAlignment="Right" Visibility="Hidden" Margin="0,3,0,3" 
-                               MouseLeftButtonUp="ShowTextBoxEyeLabel_MouseLeftButtonUp">
-                                <Border Height="23" Width="27" Background="LightSeaGreen" ></Border>
-                            </Label>
-                        </Grid>
-                    </StackPanel>
-                    <StackPanel Margin="0,17,0,0">
-                        <CheckBox IsChecked="{Binding CanEdit}" Name="CanEditCheckBox" Margin="0,0,0,10"  Command="{Binding  DelegateSetEditCommand}">
-                            <TextBlock Text="许可口令"></TextBlock>
-                        </CheckBox>
-                        <Grid HorizontalAlignment="Left" Width="228">
-                            <PasswordBox x:Name="CanEditPasswordBox" Width="228" Height="24" Visibility="Visible" VerticalAlignment="Center" 
-                                     GotFocus="PasswordBox_GotFocus" PasswordChanged="PasswordBox_PasswordChanged" IsEnabled="{Binding ElementName=CanEditCheckBox, Path=IsChecked}">
-                            </PasswordBox>
-                            <TextBox x:Name="CanEditTextBox" Width="228"  Height="24" Visibility="Hidden" VerticalAlignment="Center"
-                                 GotFocus="TextBox_GotFocus" TextChanged="TextBox_TextChanged">
-                            </TextBox>
-                            <Label x:Name="ShowEditPasswordBoxEyeLabel" HorizontalAlignment="Right" Margin="0,3,0,3" 
-                               MouseLeftButtonUp="ShowPasswordBoxEyeLabel_MouseLeftButtonUp">
-                                <Border Height="23" Width="27" Background="MediumVioletRed" 
-                                      ></Border>
-                            </Label>
-                            <Label x:Name="ShowEditTextBoxEyeLabel" HorizontalAlignment="Right" Visibility="Hidden" Margin="0,3,0,3"  
-                                MouseLeftButtonUp="ShowTextBoxEyeLabel_MouseLeftButtonUp">
-                                <Border Height="23" Width="27" Background="LightSeaGreen" ></Border>
-                            </Label>
-                        </Grid>
-                    </StackPanel>
+            <Grid Margin="16,36,16,0" >
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="62"></RowDefinition>
+                    <RowDefinition  Height="78"></RowDefinition>
+                    <RowDefinition Height="60"></RowDefinition>
+                </Grid.RowDefinitions>
+                <StackPanel Orientation="Vertical">
+                    <CheckBox Name="OpenPasswordChk" IsChecked="{Binding NeedOpenPassword, Mode=TwoWay}" Command="{Binding SetOpenPasswordCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Self}}">
+                        <TextBlock Text="Document Open Password" FontFamily="Segoe UI" FontSize="14"></TextBlock>
+                    </CheckBox>
+                    <Grid  Margin="0,8,0,16"  IsEnabled="{Binding ElementName=OpenPasswordChk, Path=IsChecked}"  >
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition></ColumnDefinition>
+                            <ColumnDefinition Width="24"></ColumnDefinition>
+                        </Grid.ColumnDefinitions>
+                        <PasswordBox Style="{StaticResource OpenPasswordBoxStyle}" help:PasswordBoxHelper.Password="{Binding OpenPassword, Mode=TwoWay , UpdateSourceTrigger=PropertyChanged}" help:PasswordBoxHelper.DisplayText="{Binding OpenPasswordMsg, Mode=TwoWay}" Grid.ColumnSpan="2">
+                        </PasswordBox>
+                        <TextBox Style="{StaticResource OpenPasswordTextBoxStyle}" Text="{Binding OpenPassword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  Grid.ColumnSpan="2"  Visibility="{Binding OpenTextVisibility, Mode=TwoWay}" help:PasswordBoxHelper.DisplayText="{Binding OpenPasswordMsg, Mode=TwoWay}" ></TextBox>
+                        <CheckBox IsChecked="{Binding IsOpenPasswordDisplayed,Mode=TwoWay}" x:Name="DisplayOpenPasswordChk" Style="{StaticResource EyeCheckbox}" Height="16" Grid.Column="1" HorizontalAlignment="Left" Panel.ZIndex="1" Command="{Binding DisplayPasswordCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Self}}"></CheckBox>
+                    </Grid>
+
+                    <CheckBox Grid.Column="1" Height="56" VerticalAlignment="Bottom"></CheckBox>
                 </StackPanel>
-            </Grid>
-            <Grid Grid.Row="1">
-                <StackPanel Margin="15,0,0,0">
-                    <TextBlock Text="允许打印" Width="48" Height="20" HorizontalAlignment="Left"/>
-                    <ComboBox Height="24" Width="228" HorizontalAlignment="Left" Margin="0,8.5,0,0"  SelectedIndex="{Binding PrintMod,Mode=TwoWay}" IsEnabled="{Binding ElementName=CanEditCheckBox, Path=IsChecked}"></ComboBox>
-                    <TextBlock Text="允许更改" Margin="0,20.5,0,0" Width="48" Height="20" HorizontalAlignment="Left"/>
-                    <ComboBox Height="24" Width="228" HorizontalAlignment="Left" Margin="0,8.5,0,0" SelectedIndex="{Binding ChangeMod,Mode=TwoWay}" IsEnabled="{Binding ElementName=CanEditCheckBox, Path=IsChecked}"></ComboBox>
-                    <TextBlock Text="加密级别" Width="48" Height="20" HorizontalAlignment="Left" Margin="0,20.5,0,0"/>
-                    <ComboBox Height="24" Width="228" HorizontalAlignment="Left" Margin="0,8.5,0,0" >
-                        <ComboBoxItem Tag="0">128-bit-RC4</ComboBoxItem>
-                        <ComboBoxItem Tag="1">128-bit-AES</ComboBoxItem>
-                        <ComboBoxItem Tag="2">256 -bit-AES</ComboBoxItem>
-                    </ComboBox>
+                <StackPanel Orientation="Vertical" Grid.Row="1" Margin="0,16,0,0">
+                    <CheckBox Name="PermissionsPasswordChk" IsChecked="{Binding NeedPermissionsPassword, Mode=TwoWay}" Command="{Binding SetPermissionsPasswordCommand}" CommandParameter="{Binding RelativeSource = {RelativeSource Self}}">
+                        <TextBlock Text="Permissions" FontFamily="Segoe UI" FontSize="14"></TextBlock>
+                    </CheckBox>
+                    <Grid Height="32" Margin="0,8,0,16"  IsEnabled="{Binding ElementName=PermissionsPasswordChk, Path=IsChecked}"  >
+                        <Grid.ColumnDefinitions>
+                            <ColumnDefinition></ColumnDefinition>
+                            <ColumnDefinition Width="24"></ColumnDefinition>
+                        </Grid.ColumnDefinitions>
+                        <PasswordBox Style="{StaticResource PermissionsPasswordBoxStyle}" help:PasswordBoxHelper.Password="{Binding PermissionsPassword, Mode=TwoWay , UpdateSourceTrigger=PropertyChanged}" help:PasswordBoxHelper.DisplayText="{Binding PermissionsPasswordMsg, Mode=TwoWay}" Grid.ColumnSpan="2" Visibility="{Binding PermissionsPasswordVisibility, Mode=TwoWay}">
+                        </PasswordBox>
+                        <TextBox Style="{StaticResource PermissionsPasswordTextBoxStyle}" Text="{Binding PermissionsPassword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" help:PasswordBoxHelper.DisplayText="{Binding PermissionsPasswordMsg, Mode=TwoWay}"  Grid.ColumnSpan="2" Visibility="{Binding PermissionsTextVisibility, Mode=TwoWay}" ></TextBox>
+                        <CheckBox  IsChecked="{Binding IsPermissionsPasswordDisplayed,Mode=TwoWay}"   x:Name="DisplayPermissionsPasswordChk" Style="{StaticResource EyeCheckbox}" Height="16" Grid.Column="1" HorizontalAlignment="Left"  Panel.ZIndex="1"  Command="{Binding DisplayPasswordCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Self}}"></CheckBox>
+                    </Grid>
+
+                </StackPanel  >
+                <StackPanel Grid.Row="2" Orientation="Vertical" IsEnabled="{Binding ElementName=PermissionsPasswordChk, Path=IsChecked}" >
+                    <CheckBox Margin="0,8,0,0" IsChecked="{Binding IsRestrictPrinting,Mode=TwoWay}" Command="{Binding SetRestrictCommand}"  CommandParameter="{Binding RelativeSource = {RelativeSource Self}}" Tag="Printing">
+                        <TextBlock Text="Restrict document printing"></TextBlock>
+                    </CheckBox>
+                    <CheckBox  Margin="0,8,0,0"  IsChecked="{Binding IsRestrictCopying}"  Command="{Binding SetRestrictCommand}"  CommandParameter="{Binding RelativeSource = {RelativeSource Self}}" Tag="Copying">
+                        <TextBlock Text="Restrict content copying"></TextBlock>
+                    </CheckBox>
                 </StackPanel>
             </Grid>
             <Grid Grid.Row="2">
-                <Button Height="40" Width="228" Background="Black" Command="{Binding DelegateConfirmEncryptCommand}" IsEnabled="{Binding IsEnabledConfirm, Mode=TwoWay}">
+                <Button Height="40" Width="228" Background="Black" Command="{Binding EncryptCommand}"  IsEnabled="{Binding EnableConfirm, Mode=TwoWay}">
                     <TextBlock Text="设置安全密码" FontSize="18" Foreground="White"/>
                 </Button>
             </Grid>

+ 0 - 118
PDF Office/Views/Dialog/HomePageToolsDialogs/HomePageBatchProcessing/HomePageSetPasswordDialog.xaml.cs

@@ -80,125 +80,7 @@ namespace PDF_Office.Views.Dialog.HomePageToolsDialogs.HomePageBatchProcessing
             viewModel.openfiledialog();
         }
 
-        private void PasswordBox_GotFocus(object sender, RoutedEventArgs e)
-        {
-            var passwordBox = sender as PasswordBox;
-            if (passwordBox.Name == canOpenPasswordBoxName)
-            {
-                canOpenPasswordBoxHasFocus = true;
-                canOpenTextBoxHasFocus = false;
-            }
-            else if (passwordBox.Name == canEditPasswordBoxName)
-            {
-                canEditPasswordBoxHasFocus = true;
-                canEditTextBoxHasFocus = false;
-            }
-        }
-
-        private void TextBox_GotFocus(object sender, RoutedEventArgs e)
-        {
-            var textBox = sender as TextBox;
-            if (textBox.Name == canOpenTextBoxName)
-            {
-                canOpenPasswordBoxHasFocus = false;
-                canOpenTextBoxHasFocus = true;
-            }
-            else if (textBox.Name == canEditTextBoxName)
-            {
-                canEditPasswordBoxHasFocus = false;
-                canEditTextBoxHasFocus = true;
-            }
-        }
-
-        private void PasswordBox_PasswordChanged(object sender, RoutedEventArgs e)
-        {
-            var passwordBox = sender as PasswordBox;
-            if (passwordBox.Name == canOpenPasswordBoxName)
-            {
-                if (canOpenTextBoxHasFocus)
-                {
-                    return;
-                }
-                CanOpenTextBox.Text = CanOpenPasswordBox.Password;
-                HomePageSetPasswordDialogModel.PasswordForOpen = CanOpenTextBox.Text;
-                viewModel.DelegateCanOpenTextChangedCommand.Execute();
-            }
-            else if (passwordBox.Name == canEditPasswordBoxName)
-            {
-                if (canEditTextBoxHasFocus)
-                {
-                    return;
-                }
-                CanEditTextBox.Text = CanEditPasswordBox.Password;
-                HomePageSetPasswordDialogModel.PasswordForEdit = CanEditTextBox.Text;
-                viewModel.DelegateCanOpenTextChangedCommand.Execute();
-            }
-        }
-
-        private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
-        {
-            var textBox = sender as TextBox;
-            if (textBox.Name == canOpenTextBoxName)
-            {
-                if (canOpenPasswordBoxHasFocus)
-                {
-                    return;
-                }
-                CanOpenPasswordBox.Password = CanOpenTextBox.Text;
-                HomePageSetPasswordDialogModel.PasswordForOpen = CanOpenPasswordBox.Password;
-                viewModel.DelegateCanOpenTextChangedCommand.Execute();
-            }
-            else if (textBox.Name == canEditTextBoxName)
-            {
-                if (canEditPasswordBoxHasFocus)
-                { return; }
-                CanEditPasswordBox.Password = CanEditTextBox.Text;
-                HomePageSetPasswordDialogModel.PasswordForEdit = CanEditPasswordBox.Password;
-                viewModel.DelegateCanOpenTextChangedCommand.Execute();
-            }
-        }
-
-        private void ShowPasswordBoxEyeLabel_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
-        {
-            var label = sender as Label;
-            if (label.Name == showOpenPasswordBoxEyeLabelName)
-            {
-                CanOpenPasswordBox.Visibility = Visibility.Hidden;
-                ShowOpenPasswordBoxEyeLabel.Visibility = Visibility.Hidden;
 
-                CanOpenTextBox.Visibility = Visibility.Visible;
-                ShowOpenTextBoxEyeLabel.Visibility = Visibility.Visible;
-            }
-            else if (label.Name == showEditPasswordBoxEyeLabelName)
-            {
-                CanEditPasswordBox.Visibility = Visibility.Hidden;
-                ShowEditPasswordBoxEyeLabel.Visibility = Visibility.Hidden;
-
-                CanEditTextBox.Visibility = Visibility.Visible;
-                ShowEditTextBoxEyeLabel.Visibility = Visibility.Visible;
-            }
-        }
-
-        private void ShowTextBoxEyeLabel_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
-        {
-            var label = sender as Label;
-            if (label.Name == showOpenTextBoxEyeLabelName)
-            {
-                CanOpenPasswordBox.Visibility = Visibility.Visible;
-                ShowOpenPasswordBoxEyeLabel.Visibility = Visibility.Visible;
-
-                CanOpenTextBox.Visibility = Visibility.Hidden;
-                ShowOpenTextBoxEyeLabel.Visibility = Visibility.Hidden;
-            }
-            else if (label.Name == showEditTextBoxEyeLabelName)
-            {
-                CanEditPasswordBox.Visibility = Visibility.Visible;
-                ShowEditPasswordBoxEyeLabel.Visibility = Visibility.Visible;
-
-                CanEditTextBox.Visibility = Visibility.Hidden;
-                ShowEditTextBoxEyeLabel.Visibility = Visibility.Hidden;
-            }
-        }
         private void Grid_Drop(object sender, DragEventArgs e)
         {