Masaüstünde Silverlight'la kullandığım aynı yaklaşımı kopyaladım: INotifyDataErrorInfo arabirimi.
Here Daha özel olarak tarif ettim ve örnek projenin kaynak kodunu karşıdan yükleyebilmeniz için here.
simpliest örnek yüzden görünür:
View.xaml
<TextBox Text="{Binding SomeProperty, Mode=TwoWay, ValidatesOnNotifyDataErrors=True, NotifyOnValidationError=True}"
Style="{StaticResource ValidationTextBoxStyle}" />
View.xaml.cs
public MainPage()
{
InitializeComponent();
this.BindingValidationError += MainPage_BindingValidationError;
}
private void MainPage_BindingValidationError(object sender, ValidationErrorEventArgs e)
{
var state = e.Action == ValidationErrorEventAction.Added ? "Invalid" : "Valid";
VisualStateManager.GoToState((Control)e.OriginalSource, state, false);
}
ViewModel.cs
public class MainViewModel : ValidationViewModel
{
public MainViewModel()
{
this.Validator.AddValidationFor(() => this.SomeProperty).NotEmpty().Show("Enter a value");
}
private string someProperty;
public string SomeProperty
{
get { return someProperty; }
set
{
someProperty = value;
RaisePropertyChanged("SomeProperty");
}
}
}
Çok sayıda ek derse dayanır, ancak aynı zamanda kendiniz yazacağınız küçük bir kod vardır.
Doğrulama uygulamamın reklamını yapacağım: http://vortexwolf.wordpress.com/2012/03/10/windows-phone-7-validation. İnternetteki diğer uygulamalardan daha kullanımı daha kolay olduğunu düşünüyorum. – vorrtex