Donc, pour garder la question simple ce dont j'ai besoin par exemple est d'utiliser quelque chose comme ça des dizaines de fois; Sauf évidemment je ne veux pas coller cette douzaine de fois partout où j'en ai besoin. J'ai donc essayé de les plier dans un ContentControl
, quelque chose comme ça; Avec l'idée que je pourrais substituer tout cela par instance en appelant simplement le modèle comme;Déclencheurs d'interaction intégrés dans ContentControl
<ContentControl Style="{StaticResource MyThingy}"/>
Sauf le problème est, lorsqu'il est incorporé dans ContentControl
, l'interaction Triggers ne semblent pas tirer au large. Il affichera bien l'objet sur le modèle, mais semble ignorer les déclencheurs? Donc, la question est: pourquoi les déclencheurs attachés à l'élément structuré sont-ils ignorés, ou y a-t-il une meilleure façon d'accomplir ce que je veux?
Merci, mais je n'essaie pas de faire le 'Rectangle' disparaît sur le clic de la souris, j'essaye de faire un autre objet sur la même vue devenir' Visible' en dehors du 'ControlTemplate' à la place (d'où le' TargetName = "AnotherObjectOnTheView" ') ainsi disons que j'ai un objet sur le Même vue que le modèle de style nommé 'AnotherObjectOnTheView' et je veux des dizaines d'endroits sur lesquels vous pouvez cliquer pour rendre visible 'Visible', où les Rectangles et Triggers entrent. J'ai essayé le TargetObject mais cela ne semble pas rendre "AnotherObjectOnTheView" visible:/ –
@ChrisW Votre question était _ "Pourquoi les déclencheurs attachés à l'élément modélisé sont-ils ignorés?" - la réponse est - Ils ne le sont pas, vous n'utilisez pas le 'ChangePrope rtyAction' correctement comme je l'ai montré dans ma réponse. Votre nouvelle question est quelque chose comme _ "Puis-je changer une propriété d'un autre contrôle d'une liaison de style en utilisant l'attribut TargetName" _ et la réponse est * non *, cela ne peut pas être fait. Je recommanderais quelque chose comme un 'EventToCommand' pour déclencher une modification dans le ViewModel. Par exemple une propriété bool dans le ViewModel auquel 'Visibility' de' AnotherObjectOnTheView' se liera. – Blachshma
Ou directement utiliser le 'ChangePropertyAction' pour changer cette propriété dans le ViewModel (en se liant au DataContext de MainWindow/UserControl) – Blachshma