예제 #1
0
        //------------------------------------------------------
        //
        //  Constructors
        //
        //------------------------------------------------------

        #region Constructors

        /// <summary>
        /// Static constructor for PasswordBox.
        /// </summary>
        static PasswordBox()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(PasswordBox), new FrameworkPropertyMetadata(typeof(PasswordBox)));
            _dType = DependencyObjectType.FromSystemTypeInternal(typeof(PasswordBox));

            // PasswordBox properties
            // ------------------
            PasswordCharProperty.OverrideMetadata(typeof(PasswordBox),
                                                  new FrameworkPropertyMetadata(new PropertyChangedCallback(OnPasswordCharChanged)));

            // Declaree listener for Padding property
            Control.PaddingProperty.OverrideMetadata(typeof(PasswordBox),
                                                     new FrameworkPropertyMetadata(new PropertyChangedCallback(OnPaddingChanged)));

            // Prevent journaling
            NavigationService.NavigationServiceProperty.OverrideMetadata(typeof(PasswordBox), new FrameworkPropertyMetadata(new PropertyChangedCallback(OnParentNavigationServiceChanged)));

            InputMethod.IsInputMethodEnabledProperty.OverrideMetadata(typeof(PasswordBox),
                                                                      new FrameworkPropertyMetadata(
                                                                          BooleanBoxes.FalseBox,
                                                                          FrameworkPropertyMetadataOptions.Inherits,
                                                                          null,
                                                                          //

                                                                          new CoerceValueCallback(ForceToFalse)));

            // VSM
            IsEnabledProperty.OverrideMetadata(typeof(PasswordBox), new UIPropertyMetadata(new PropertyChangedCallback(OnVisualStatePropertyChanged)));
            IsMouseOverPropertyKey.OverrideMetadata(typeof(PasswordBox), new UIPropertyMetadata(new PropertyChangedCallback(OnVisualStatePropertyChanged)));

            TextBoxBase.SelectionBrushProperty.OverrideMetadata(typeof(PasswordBox),
                                                                new FrameworkPropertyMetadata(new PropertyChangedCallback(UpdateCaretElement)));
            TextBoxBase.SelectionTextBrushProperty.OverrideMetadata(typeof(PasswordBox),
                                                                    new FrameworkPropertyMetadata(new PropertyChangedCallback(UpdateCaretElement)));
            TextBoxBase.SelectionOpacityProperty.OverrideMetadata(typeof(PasswordBox),
                                                                  new FrameworkPropertyMetadata(new PropertyChangedCallback(UpdateCaretElement)));
            TextBoxBase.CaretBrushProperty.OverrideMetadata(typeof(PasswordBox),
                                                            new FrameworkPropertyMetadata(new PropertyChangedCallback(UpdateCaretElement)));

            ControlsTraceLogger.AddControl(TelemetryControls.PasswordBox);
        }
예제 #2
0
 set => SetValue(PasswordCharProperty, value);