2009-05-25 9 views
0

J'ai une application SL3 dans laquelle j'utilise DataForm pour ma saisie de données. Je veux que mon formulaire ressemble à celui que je l'aime, donc, j'utilise <dataControls:DataForm.EditTemplate> et à l'intérieur du modèle j'ai mon beau design de formulaire. Le problème principal est, à l'intérieur du modèle, je dois utiliser des contrôles normaux (comme TextBox) au lieu des contrôles "field" (comme DataFormTextField). ils fonctionnent tous les deux presque de la même manière avec la grande différence quand il s'agit de la validation.Silverlight 3 validation DataForm avec des modèles

si j'exécute une exception dans le setter de la propriété à laquelle ils sont liés, ils affichent tous deux le bon signe et l'erreur rouge, mais si je décore la propriété par des attributs de validation (par exemple [Required(ErrorMessage = "can't be empty!")]), seul le contrôle DataFormTextField et pas le contrôle TextBox montrera l'erreur. dans les deux cas mon contrôle ErrorSummary a l'erreur dans sa collection, donc je peux voir que l'erreur est prise en compte ...

Toute aide est appréciée.

Répondre

0

Utilisez-vous le champ de modèle?

<df:DataFormTemplateField FieldLabelContent="Year"> 
     <df:DataFormTemplateField.DisplayTemplate> 
     <DataTemplate> 
      <TextBox Text="{Binding Year}" HorizontalAlignment="Left" /> 
     </DataTemplate> 
     </df:DataFormTemplateField.DisplayTemplate> 
     <df:DataFormTemplateField.EditTemplate> 
     <DataTemplate> 
      <TextBox Text="{Binding Year}" HorizontalAlignment="Left" /> 
     </DataTemplate> 
     </df:DataFormTemplateField.EditTemplate> 
    </df:DataFormTemplateField> 
+0

quelque chose de très similaire, oui. –

+0

Je veux dire que votre "Textbox" est dans un DataFormTemplateField? Je pensais que si votre Textox ne se trouve pas dans le champ du template, cela expliquerait pourquoi les erreurs de validation ne s'afficheraient pas. – vidalsasoon

Questions connexes