给出的是一个带有重置按钮和文本框的 Wpf .Net5.0 应用程序
将设置路径重置为 Defalut
Command="{Binding ResetCommand}" ... FilePath = @"C:\Temp";文本框:用户可以编辑路径
Text="{Binding FilePath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True}"private string _filePath; public string FilePath { get => _filePath; set { var r = new Regex(@"[\w\s\\.:\-!~]"); if (r.Matches(value).Count == value.Length) { SetProperty(ref _filePath, value); return; } throw new ArgumentException("Not an valid windows path"); } }
当路径有效时,我可以重置为默认值。UI 更新当用户输入无效字符时,边框会变为红色,并且“重置”按钮不会更新 UI。
我尝试通过 Snoop 进行调试,看起来虚拟机正在重置。但不是用户界面。怎么了?
工作演示:https ://github.com/LwServices/WpfValidationDemo/tree/master/ValidationWpf