1 pièce(s) jointe(s)
Changer message affiché (validationSummary)
Bonjour,
J'ai un problème : dans les mutateurs de mes propriétés, je lève des exceptions quand l'entrée n'est pas dans le format attendu.
Mais je ne comprend pas pourquoi le message dans mon excepetion n'est pas utilisé. A la place, j'ai un "Le format de l'entrée n'est pas valide".
Voici la propriété et l'erreur dans son mutateur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
Private _Ordre As Integer = 1
Public Property Ordre() As Integer
Get
Return _Ordre
End Get
Set(ByVal value As Integer)
If value < 1 Then
Throw New Exception("L'ordre d'exécution doit être supérieur à 0.")
End If
_Ordre = value
RaisePropertyChanged("Ordre")
End Set
End Property
' Au clic sur le bouton valider :
Private Function ValiderDonnees() As Boolean
If _ListeErreurs Is Nothing Then
_ListeErreurs = New List(Of ValidationSummaryItem)
Else
_ListeErreurs.Clear()
End If
' On recharge les erreurs remontées par les property car on vient de les éffacer.
For Each element As TextBox In HelperWidget.FindVisualChilds(Of TextBox)(cc_regleCompl)
If Not TypeOf element Is Telerik.Windows.Controls.PickerTextBox AndAlso element.IsEnabled Then
element.GetBindingExpression(TextBox.TextProperty).UpdateSource()
End If
Next
If String.IsNullOrEmpty(Libelle) Then
_ListeErreurs.Add(New ValidationSummaryItem With {.MessageHeader = "Libellé", .Message = "Veuillez renseigner le libellé."})
End If
' etc
End function |
(note : vous avez vu ça ? j'ai découvert la balise Code=VB !!! :mouarf:)
Et voici le xaml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<TextBlock Text="Ordre d'utilisation"
Grid.Row="1"
Grid.Column="0" />
<TextBox Text="{Binding Ordre, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}"
TextAlignment="Right"
Grid.Row="1"
Grid.Column="1" />
<!-- etc etc etc -->
<vs:ValidationSummary x:Name="vs_Erreurs"
Header="Impossible de valider la subvention complémentaire"
ScrollViewer.VerticalScrollBarVisibility="Auto"
MaxHeight="200"
Grid.Row="8"
Grid.Column="0"
Grid.ColumnSpan="3" /> |
Or je souhaiterai afficher le message de mon erreur :(
Pour info, ça fonctionnait avant que je place le NotifyOnValidationError=True
Ci-joint, la capture d'écran.