问题标签 [inotifydataerrorinfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 基于 WPF C# 中的 INotifyDataErrorInfo 更新 Bool 属性
在我的上一个问题中,我得到了一个解决方案,如何手动检查验证结果https://stackoverflow.com/questions/39031783/screen-validation-with-data-annotations-on-button-click-in-using-inotifydataerro/ 39033124#39033124
我有一个 Model Person
,它包含三个属性FirstName
(必需)、MiddleName
(可选)和LastName
(必需)。
现在我稍微改变了我的代码
模型类:人
我的 XAML 是
该属性IsValidObject
最初工作正常。如果我更新 and 中的值FirstName
,LastName
则该属性IsValidObject
不会更新 UI 中的结果。
我使用了另一种方法
这里我介绍了一个Method ValidateEmployeeObject()
,它返回TRUE
/FALSE
作为类似于Property IsValidObject
。我按照@adminSoftDK 在评论部分的建议将这个方法绑定在CanExecute
块中。SaveDataCommand
这种方法也失败了......
我如何根据上述验证更新保存按钮以启用。
c# - 在对象的 ObservableCollection 上实现 INotifyDataErrorInfo
语境
我正在使用 MVVM 和实体框架(数据库优先)开发 WPF 应用程序。我有一个机身对象的 ObservableCollection(通过 CollectionView 查看,以便我可以处理下一个/上一个逻辑)。我有一个文本框,允许编辑当前查看的机身的机身属性之一,我目前正在为此设置验证。我采用的方法是使用WPF 4.5 中所示的示例实现 INotifyDataErrorInfo:使用 INotifyDataErrorInfo 接口验证数据。
问题
在该文章的示例中,验证是通过 ViewModel 中定义的单个属性的设置器触发的,如下所示:
问题
如何在我的特定上下文中触发验证?当我使用实体框架(数据库优先)时,我无法在生成的机身模型中摆弄设置器。我看不到如何获得细粒度的访问权限来更改机身对象的 ObservableCollection 中的设置器。我也想不出任何其他可以触发验证的地方。
wpf - 如何清除由 INofityDataErrorInfo 生成的错误
说,我有一个字段Email
,我想RegEx errors
在用户输入时显示。但它是一个可选字段,所以如果用户提交表单,这个字段应该清除任何错误,并且null
应该发送值。
我已经INofityDataErrorInfo
在我的ViewModel
.
c# - 如何使 INotifyDataErrorInfo 错误持续存在直到更正?
我的验证在第一个实例中有效,但是当我从一个选项卡项转到另一个选项卡项并再次返回时,验证就消失了。
我本来希望这种状态一直存在,直到用户在这种情况下输入有效的通过标准。
也许这是预期的行为,我错过了文档中的一些内容。
在我的应用程序中,我有一个MainWindow.xaml和一个MainWindowViewModel.cs作为它的 DataContext,它继承自实现INotifyPropertyChanged和INotifyDataErrorInfo的BaseViewModel.cs。然后我创建了一个名为FilePath.cs的自定义ValidationAttribute。
MainWindow.xaml 包含一个带有两个选项卡项的选项卡控件。只有一个有一个文本框,我已经对其进行了验证。这在某种意义上是有效的,它会在验证不正确时通知我。在此示例中,文件路径不存在。
主窗口.xaml
主视图模型.cs
文件路径.cs
c# - 使用 INotifyDataErrorInfo 验证 Mvvm 模型
我的模型实现了INotifyDataErrorInfo
接口来验证它的属性,它工作正常,但问题是,属性 HasErrors 默认为 false,所以当我第一次运行我的应用程序并单击保存(表单为空)时,视图会引发 no错误,并保存数据。
这是我的视图模型的片段
你如何在你的应用程序中处理这种情况?
有关更多信息,我创建了这个github 存储库。
c# - 如何让 WPF 验证冒泡到父控件?
所以我有一个类似这个简化版本的控件:
我像这样使用它:
问题是因为我没有将模型的属性绑定到 上的某些东西,ImageMapContentField
所以Validation.HasError
总是ImageMapContentField
假的并且永远不会触发。
我真正想要的是ImageMapContentField
有一个粉红色的背景。这适用于我直接绑定到某些东西的其他控件,但我无法让它适用于具有ContentPresenter
.
我希望我只是错过了一些可以让父母捕获验证的东西。
根据要求,这里是该问题的一个最小示例:
主窗口.xaml
CustomTextField.xaml
CustomTextField.cs
自定义内容控件.xaml
自定义内容控件.cs
我的模型.cs
c# - 在 WPF 应用程序中实现 IDataErrorInfo 或 INotifyDataErrorInfo 的限制
我正在开发一个 WPF 应用程序(MVVM)。我有一个来自单独程序集的类(Odata V4 Generated Proxy Class)。
现在我需要使用数据注释来装饰该类的属性,以便使用IDataErrorInfo
或INotifyDataErrorInfo
接口验证属性。前任:
问题:
由于此类在单独的程序集中,我无法创建部分类。此类的属性绑定到应用程序的 UI 元素。现在我需要在用户输入数据时验证属性。
我正在努力设计解决方案。任何人都可以帮助我实现这一目标吗?
c# - WPF - 使用 Fody Validar 的用户输入验证
我正在尝试验证用户输入,如上图所示。我正在使用 Fody Validor 库并按照此处的说明进行操作。
我可以看到验证正在进行,但 TextBox 边框没有变成红色。
我已经用 Google 搜索了,但我无法获得这方面的信息。任何人都可以为我提供一个工作代码示例吗?
更新
Fody ValidationTemplate(数据注解验证)
要验证的模型类:
XAML
c# - UWP INotifyDataErrorInfo
UWP平台上的控件是否通过绑定自动支持INotifyDataErrorInfo接口?
在 Silverlight 和 WPF 上,如果我们实现 INotifyDataErrorInfo 接口,大多数控件会在字段出错时自动发出红光并显示错误消息。这是一个很棒的功能,因为它意味着您可以将错误放在模型级别而不是控制级别。
UWP 支持吗?有样品吗?
编辑:似乎这个问题的答案可能是 UWP 中的控件根本不处理 INotifyDataErrorInfo。那么,现在的问题是,如果没有使用该功能,微软团队是否计划在未来实现该功能?微软在这方面是否有任何公告?