Silverlight验证问题

Silverlight验证问题,silverlight,validation,Silverlight,Validation,我有一个Silverlight控件,它有一个显示一系列电子邮件地址的列表框。数据源是ViewModel中字符串的可观察集合(每个电子邮件一个)。很简单 我希望通过双向绑定将数据模板从TextBlock更改为TextBox,从而允许对列表进行就地编辑 问题是:如何验证用户编辑是否为有效的电子邮件地址? 我不想将绑定的文本保存到列表中,除非它是有效的。我不能抛出异常,因为它绑定到字符串,所以没有要修改的Set方法 我能想到的唯一解决方案是创建一个带有单个Email属性的虚拟类,以便验证该值。我不敢相

我有一个Silverlight控件,它有一个显示一系列电子邮件地址的列表框。数据源是ViewModel中字符串的可观察集合(每个电子邮件一个)。很简单

我希望通过双向绑定将数据模板从TextBlock更改为TextBox,从而允许对列表进行就地编辑

问题是:如何验证用户编辑是否为有效的电子邮件地址?

我不想将绑定的文本保存到列表中,除非它是有效的。我不能抛出异常,因为它绑定到字符串,所以没有要修改的Set方法


我能想到的唯一解决方案是创建一个带有单个Email属性的虚拟类,以便验证该值。我不敢相信这是最好的方法。

好吧,你有比验证更大的问题。当源对象是字符串时,不能使用双向绑定


创建一个具有
EmailAddress
string属性的
AddressEntry
类是有意义的。这样,您就可以进行双向绑定,它为您提供了编写验证的地方。

好吧,您遇到的问题比验证更大。当源对象是字符串时,不能使用双向绑定


创建一个具有
EmailAddress
string属性的
AddressEntry
类是有意义的。这样,您就可以进行双向绑定,并为您提供编写验证的位置。

ListBox绑定到的确切类型是什么?绑定是一个ListBox,其DataContext设置为{binding Path=EmailList}EmailList为:public observeCollection EmailList{get;set;}ListBox模板有一个绑定到{Binding}的单一TextBound。ListBox绑定到的确切类型是什么?绑定是一个DataContext设置为{Binding Path=EmailList}的ListBox。EmailList是:public ObservableCollection EmailList{get;set;}。ListBox模板有一个绑定到{Binding}的单一TextBound谢谢你的确认。我(asp.net开发人员)花了一段时间才开始思考如何使用Silverlight编写UI代码。感谢您的确认。我(asp.net开发人员)花了一段时间才明白如何使用Silverlight编写UI代码。