Bonjour,
Énoncé simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <TabControl ItemsSource="{Binding ListeOnglet, ValidatesOnDataErrors=True}" ItemContainerStyle="{StaticResource TabItemCollection}" />Je donne à un TabControl une ObservableCollection<T>, T implémente IDataErrorInfo et INotifyPropertyChanged.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <DataTemplate x:Key="DisplayName"> <TextBlock Text="{Binding Converter={converters:VMToDisplayNameConverter}}" /> </DataTemplate> <Style x:Key="TabItemCollection" TargetType="{x:Type TabItem}" BasedOn="{StaticResource TabItem}"> <Setter Property="HeaderTemplate" Value="{StaticResource DisplayName}" /> <Setter Property="Header" Value="{Binding ValidatesOnDataErrors=True}"/> <Style.Triggers> <Trigger Property="Validation.HasError" Value="True"> <Setter Property="Foreground" Value="Red" /> <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}"/> </Trigger> </Style.Triggers> </Style>
S'il y a une erreur dans l'un des objets de la liste, j'aimerais que l'utilisateur puisse facilement retrouver d’où elle provient, et donc mettre en évidence le TabItem concerné.
En debug, je constate que mes objets retourne correctement leurs erreur, cependant, je n'arrive pas à déclencher la validation de mon TabItem. Des idées ?
Partager