Bonjour tout le monde,
Alors j'ai une dataGrid que je remplie a la"main" donc je dois contrôler l'entrée clavier.
Dans un cas c'est le type String ou Date ou Double, j'ai essayer avec ValidatesOnExceptions=True etce code pour changer le style de ma cellule en cas d'erreur mais je n'arrive pas a résoudre ce mystère
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <Style x:Key="datagridElStyle" TargetType="{x:Type TextBlock}"> <Style.Triggers> <Trigger Property="Validation.HasError" Value="True"> <Setter Property="Background" Value="Yellow" /> <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/> </Trigger> </Style.Triggers> </Style>
mon xaml est le suivant:
mon Code Behind
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <Style x:Key="datagridElStyle" TargetType="{x:Type TextBlock}"> <Style.Triggers> <Trigger Property="Validation.HasError" Value="True"> <Setter Property="Background" Value="Yellow" /> <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/> </Trigger> </Style.Triggers> </Style> </lib:dataGrid.Resources> <lib:dataGrid.Columns> <DataGridTextColumn ElementStyle="{StaticResource datagridElStyle}" Width="*" x:Name="abs" Header="Abscisse" Binding="{Binding Path=X, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,ValidatesOnExceptions=True,ValidatesOnDataErrors=True}"/>
J'ai louper quelques chose?
Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If Not (IsDate(dgabs.SelectedItem.X)) Then Throw New ArgumentException("Not a Date") End If
Merci de votre aide
Partager