2010-05-27 3 views
2

Je travaille avec une application Silverlight avec des contrôles TimePicker et des TextBox. Le code XAML commeSilverlight Toolkit Le contrôle TimePicker n'affiche pas de message d'erreur lors de l'erreur de validation

<toolkit:TimePicker x:Name="time" Width="100" HorizontalAlignment="Left" Value="{Binding FromDatetime, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}"/> 
    <Button HorizontalAlignment="Left" Content="Button" Height="23" x:Name="button1" Width="75" Click="button1_Click" /> 
    <TextBox Height="24" Name="text" Width="120" HorizontalAlignment="Left" Text="{Binding Path=FromDatetime, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True, ValidatesOnDataErrors=True}"/> 
    <sdk:ValidationSummary Name="errorSummary" /> 

Mon problème est, quand j'entrer une valeur non valide et appuyez sur la touche (c'est seulement SubmitChanges() à un DataContext dans mon gestionnaire button1_Click), le contrôle de TimePicker ne montrent pas moi un message d'erreur. Dans mon cas, j'ai essayé 3 modèles.

  1. contrôle TimePicker et Button
  2. contrôle TimePicker, ValidationSummary et bouton
  3. TextBox et Button
  4. TextBox, ValidationSummary et bouton

Les résultats sont,
motif 1: aucun message d'erreur et aucune bordure rouge autour du TimePicker
modèle 2: le TimePicker est la même chose que modèle 1, mais ValidationSummary affiche le message d'erreur
modèle 3: la zone de texte affiche le message d'erreur et une fine bordure rouge
modèle 4: à la fois la zone de texte et le message d'erreur show ValidationSummary Alors, comment puis-je laisser le TimePicker me montrer le message d'erreur tout comme le TextBox?

Merci.

+0

Silverlight 3 ou 4? – AnthonyWJones

Répondre

0

Si vous utilisez Silverlight 3 Lien this décrit que le datepicker par défaut prend en charge l'erreur de validation, c'est pourquoi il apparaît dans le ValidationSummary mais le modèle par défaut du datepicker ne dispose pas d'un état par défaut pour afficher ces erreurs.

Il existe également des liens où vous pouvez obtenir des modèles de sélecteurs de dates personnalisés, ou vous pouvez créer vos propres modèles.

0

Voir "Re: Validation not working for TimeUpDown" pour un exemple d'une affection liée à fixer à TimeUpDown

En outre, une solution liée à DatePicker: "Silverlight DatePicker Validation States"

semble que le problème est que certains Etats pour le VSM (Visual State Manager) manquent même lorsque les contrôles font la validation ok, qui est InvalidFocused et états InvalidUnfocused, comme mentionné à:

"Re: DatePicker has no InvalidFocused or InvalidUnfocused visual states"

Questions connexes