{"record":{"id":"7240d9a401c524d2","repo":"MaterialDesignInXAML/MaterialDesignInXamlToolkit","slug":"passwordbox","errorCode":null,"errorMessage":"passwordBox","messagePattern":"passwordBox","errorType":"exception","errorClass":"ArgumentNullException","httpStatus":null,"severity":"error","filePath":"src/MaterialDesignThemes.Wpf/HintProxyFabric.PasswordBox.cs","lineNumber":26,"sourceCode":"\n        public bool IsEmpty() => string.IsNullOrEmpty(_passwordBox.Password);\n\n        public object Content => _passwordBox.Password;\n\n        public bool IsLoaded => _passwordBox.IsLoaded;\n\n        public bool IsVisible => _passwordBox.IsVisible;\n\n        public bool IsFocused() => _passwordBox.IsKeyboardFocusWithin;\n\n        public event EventHandler? ContentChanged;\n        public event EventHandler? IsVisibleChanged;\n        public event EventHandler? Loaded;\n        public event EventHandler? FocusedChanged;\n\n        public PasswordBoxHintProxy(PasswordBox passwordBox)\n        {\n            if (passwordBox is null) throw new ArgumentNullException(nameof(passwordBox));\n\n            _passwordBox = passwordBox;\n            _passwordBox.PasswordChanged += PasswordBoxPasswordChanged;\n            _passwordBox.Loaded += PasswordBoxLoaded;\n            _passwordBox.IsVisibleChanged += PasswordBoxIsVisibleChanged;\n            _passwordBox.IsKeyboardFocusWithinChanged += PasswordBoxIsKeyboardFocusedChanged;\n        }\n\n        private void PasswordBoxIsKeyboardFocusedChanged(object sender, DependencyPropertyChangedEventArgs e)\n            => FocusedChanged?.Invoke(this, EventArgs.Empty);\n\n        private void PasswordBoxIsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)\n            => IsVisibleChanged?.Invoke(this, EventArgs.Empty);\n\n        private void PasswordBoxLoaded(object sender, RoutedEventArgs e)\n            => Loaded?.Invoke(this, EventArgs.Empty);\n\n        private void PasswordBoxPasswordChanged(object sender, RoutedEventArgs e)","sourceCodeStart":8,"sourceCodeEnd":44,"githubUrl":"https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/blob/98edec3a0b96ef272c587b14bcd67ef5f928a7ed/src/MaterialDesignThemes.Wpf/HintProxyFabric.PasswordBox.cs#L8-L44","documentation":"ArgumentNullException(nameof(passwordBox)) in PasswordBoxHintProxy's constructor (HintProxyFabric.PasswordBox.cs:26). The proxy adapts a PasswordBox for the floating SmartHint; wrapping null is illegal. Thrown when the proxy is constructed with a null PasswordBox (internal/fork/test code).","triggerScenarios":"Constructing PasswordBoxHintProxy with a null PasswordBox; usually reached via the internal HintProxyFabric attached behavior. The public API does not construct the proxy directly.","commonSituations":"Test doubles/fakes; a broken Style/ControlTemplate that resolves the PasswordBox to null; reflection; library fork.","solutions":["Pass a valid PasswordBox instance; resolve it from the actual control receiving the hint.","Do not construct PasswordBoxHintProxy directly; rely on HintProxyFabric to select the adapter.","In tests, use a real PasswordBox; confirm Style/Template does not produce a null target."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (passwordBox is null)\n    throw new ArgumentNullException(nameof(passwordBox));\n\n// Let HintProxyFabric choose the adapter; do not construct PasswordBoxHintProxy directly.","typeGuard":"static bool CanWrapPasswordBox(PasswordBox? passwordBox) => passwordBox is not null;","tryCatchPattern":null,"preventionTips":["Do not instantiate PasswordBoxHintProxy directly; rely on HintProxyFabric.","Confirm PasswordBox styles/templates do not produce a null target.","In tests, use a real PasswordBox rather than null."],"tags":["wpf","materialdesigninxaml","argument-null","passwordbox","hint","internal"],"backgroundTag":null,"analyzedSha":"98edec3a0b96ef272c587b14bcd67ef5f928a7ed","analyzedAt":"2026-08-13T14:31:19.111Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}