首页 > 解决方案 > 如何使用 MVVM 模式或 caliburn micro 清除 PasswordBox 值

问题描述

如果输入错误,我应该如何清除密码框值?我已经看到了一些答案,例如“将密码框发送到视图模型”,但这只是破坏了 MVVM 模式。

当前的xml

<PasswordBox x:Name="PasswordInput" Style="{DynamicResource PWbox}" cal:Message.Attach="[Event PasswordChanged] = [Action PasswordChanged($source)]" Grid.Row="3" Grid.Column="2"/>


视图模型
public void PasswordChanged(PasswordBox source)
        {
            OldPassword = source.Password;
        }

private string _oldPassword;
        public string OldPassword
        {
            get { return _oldPassword; }
            set
            {

                _oldPassword = value;
                NotifyOfPropertyChange(() => OldPassword);
            }
        }

标签: wpfmvvmdata-bindingcaliburn.micro

解决方案


推荐阅读