/// <summary> Конструктор </summary>
        public ViewPasswordBox(PasswordBoxTypeEnum windowType)
        {
            InitializeComponent();

            _viewModelPasswordBox = new ViewModelPasswordBox();

            var windowCaptionResourceKey = String.Empty;
            var buttonNameResourceKey    = String.Empty;

            switch (windowType)
            {
            case PasswordBoxTypeEnum.Export:
                windowCaptionResourceKey = @"ViewPasswordBox_ExportEncryptionKey";
                buttonNameResourceKey    = @"ViewPasswordBox_Export";
                break;

            case PasswordBoxTypeEnum.Import:
                windowCaptionResourceKey = @"ViewPasswordBox_ImportEncryptionKey";
                buttonNameResourceKey    = @"ViewPasswordBox_Import";
                break;

            case PasswordBoxTypeEnum.ExportToClipboard:
                windowCaptionResourceKey = @"ViewPasswordBox_ExportEncryptionKey";
                buttonNameResourceKey    = @"ViewPasswordBox_Export";
                break;

            case PasswordBoxTypeEnum.RegenerateKey:
                windowCaptionResourceKey = @"ViewPasswordBox_CreateNewKeyTitle";
                buttonNameResourceKey    = @"ViewPasswordBox_CreateNewKey";
                break;
            }

            WindowCaptionResourceKey = windowCaptionResourceKey;
            EventButton.SetResourceReference(Button.ContentProperty, buttonNameResourceKey);

            DataContext = _viewModelPasswordBox;

            //Для установки focus-a на passwordbox при запуске окна с ViewPasswordBox. методы focus вызываемые внутри конструктора usercontrol-a не работают
            Dispatcher.BeginInvoke(new Action(() => { Keyboard.Focus(PasswordBoxUser); }), System.Windows.Threading.DispatcherPriority.Loaded);

            _viewModelPasswordBox.EventViewModel += ViewModelPasswordBoxOnEventViewModel;

            PasswordBoxUser.PasswordChanged += PasswordBoxUserOnPasswordChanged;
        }
        /// <summary> Возвращает окно WindowStandard с ViewCallRedirect </summary>
        public static WindowStandard GetWindowPasswordBox(PasswordBoxTypeEnum windowType)
        {
            var windowDispacher = WindowDispacher.GetInstance;

            var result = windowDispacher.GetWindowByUserControl(typeof(ViewPasswordBox)) as WindowStandard;

            if (result != null)
            {
                return(result);
            }

            result = new WindowStandard(new ViewPasswordBox(windowType))
            {
                MinWidth = 500, MinHeight = 200, Height = 200, Width = 500, WindowStartupLocation = WindowStartupLocation.CenterOwner, ResizeMode = ResizeMode.NoResize, ShowInTaskbar = false,
            };

            result.Activated += (sender, args) => { windowDispacher.SetActiveWindow(result); };

            windowDispacher.AddToListWindow(result);

            result.Closed += (sender, args) => { windowDispacher.DeleteToListWindow(result); };

            return(result);
        }