2010-12-01 11 views
2

Ich habe Textfeld und ich möchte validieren ist eine gültige E-Mail im Textfeld auf Schaltfläche "Speichern" klicken.Silverlight-Validierung. Problem mit der E-Mail-Validierung

Aber Standard-Validierung haben seltsames Verhalten. Wenn ich neue E-Mails drucke, wird immer ein Fehler angezeigt, und dies ist sehr ärgerlich. Ich möchte Fehler nur nach einem Klick auf die Schaltfläche anzeigen und das Textfeld muss dann gültig werden, wenn der Fokus erreicht wurde. Gibt es dafür im MODEL-VIEW-VIEWMODEL einen Standardweg?

+2

Bitte Code eingeben –

Antwort

3

Das Standardverhalten für das Ändern des gebundenen Werts in einem TextBox ist über LostFocus. Sie müssten die UpdateSourceTrigger explizit ändern.

<TextBox Name="MyTextBox" 
     Text="{Binding Path=FirstName, UpdateSourceTrigger=Explicit}" /> 

Dann hinter Sie in Ihrem Code haben jetzt explizit UpdateSource über Ihre Button Click-Handler aufrufen.

BindingExpression be = MyTextBox.GetBindingExpression(TextBox.TextProperty); 
be.UpdateSource();