如何在WPF页面(局部类)中实现IDataErrorInfo

时间:2018-10-15 03:08:07

标签: c# wpf idataerrorinfo

这是我第一次使用WPF。而且我正在开发一个库存管理系统。我的设计模型只有一个Window,其中一个框架在单击不同按钮时会加载不同的Pages。在向数据库中添加新清单时,我要确保数据验证。在这方面,我选择IDataErrorInfo。我必须实现该接口,但不能仅实现为public partial class AddInventoryPage : Page, IDataErrorInfo的编写。这显示错误。该类的签名如下

public partial class AddInventoryPage : Page

我也尝试了以下操作,但是无法实现该功能。甚至我在IDataErrorInfor部分中都设置了一个断点,但是控件没有移到那里。

namespace IMS
{
    public partial class AddInventoryPage : IDataErrorInfo
    {
    //code here
    }
    public partial class AddInventoryPage : Page
    {
    //code here
    }
}

由于“我的库存”模块已完成,但“数据验证”除外,因此我正在处理“销售”模块;这不是更改我的设计模型的解决方案。而且,我没有使用像MVVM这样的任何设计模式。是直的 期待解决方案。

1 个答案:

答案 0 :(得分:0)

带有针对属性“名称”的验证的示例

public class AddInventoryPage : IDataErrorInfo
{
    public string Name { get; set; }       

    public string Error => null;

    public string this[string columnName]
    {
        get
        {
            switch(columnName)
            {
                case nameof(Name):
                    if (Name == string.Empty) return "Name can not be empty";
            }

            return string.Empty;
        }
    }
}