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 vb : Sélectionner tout - Visualiser dans une fenêtre à part
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 !!!)
Et voici le xaml :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager