Bonjour,
le sujet n'est pas clair mais mon problème est sans doute assez classique mais non trivial j'espère :
J'ai un ResourceDictionary qui contient un DataTemplate qui contient un ContentControl.
Je voudrai que lorsque ce ContentControl obtient le focus (donc sur ContentControl.GotFocus ou ContentControl.IsFocused=true), la valeur d'un autre contrôle (un TextBox) soit modifié à partir d'une propriété de l'objet lié au DataContext du ContentControl qui a le focus.
J'ai essayé de créer un événement:
Mais ça ne compile plus. J'ai pourtant essayé de créer une classe pour la méthode OnFocus, classe déclarée dans x:Class du fichier XAML ResourceDictionary. Mais ça ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <ContentControl.Style> <Style TargetType="{x:Type ContentControl}"> <EventSetter Event="GotFocus" Handler="OnFocus"/> </Style> </ContentControl.Style>
J'ai aussi essayé avec un Trigger:
Mais on ne peut pas spécifier de TargetName sur un contrôle en dehors de la portée du Style.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <Style> <Style.Triggers> <Trigger Property="ContentControl.IsFocused" Value="true"> <Setter TargetName="PropertyGrid" Property="CurrentDescription" Value="TEST OK"/> </Trigger> </Style.Triggers> </Style>
Bref, existe-t-il une solution pas trop compliquée ?
Partager