.net WPF如何筛选数据绑定元素?MVVM相关
我有一个文本框,它的文本属性绑定到一个字符串(在视图模型中) 问题:我如何使文本框中的文字长度正好为10个字符(或者仅以英文字母为例).net WPF如何筛选数据绑定元素?MVVM相关,.net,wpf,validation,mvvm,.net,Wpf,Validation,Mvvm,我有一个文本框,它的文本属性绑定到一个字符串(在视图模型中) 问题:我如何使文本框中的文字长度正好为10个字符(或者仅以英文字母为例) 问题是它直接写入viewModel的字符串变量。所以我唯一的想法就是为这个设计一个转换器。但是,即使转换器什么也不返回,我如何通知用户出了问题?(“error-length!=10”作为示例)您必须使用我建议您查看一下。 您可以让viewmodel实现此接口来定义验证逻辑。例如: 公共类视图模型:IDataErrorInfo { 公共字符串MyText{get;
问题是它直接写入viewModel的字符串变量。所以我唯一的想法就是为这个设计一个转换器。但是,即使转换器什么也不返回,我如何通知用户出了问题?(“error-length!=10”作为示例)您必须使用我建议您查看一下。 您可以让viewmodel实现此接口来定义验证逻辑。例如:
公共类视图模型:IDataErrorInfo
{
公共字符串MyText{get;set;}
#区域IDataErrorInfo成员
公共字符串错误
{
获取{return null;}
}
公共字符串此[string columnName]
{
得到
{
如果(columnName==“MyText”)
{
如果(MyText.Length!=10)
{
return“文本应该正好是10个字母。”;
}
}
返回null;
}
}
#端区
}
可以找到一个很好的示例和进一步的定制。虽然这可以回答问题,但在此处包含答案的基本部分,并提供链接供参考。将问题视为验证而不是筛选更有用。正如这里的一个答案所示,WPF提供了几种风格的支持,但IDataErrorInfo是MVVM的首选方法(参见Adi Lester的答案)。干杯