example xaml binding treeview triggers togglebutton

xaml - treeview wpf example



¿Cómo establecer un activador en un niño en una propiedad principal? (1)

Tengo un TreeView con un ToggleButton (ExpanderButton). El botón togglebutton tiene dos imágenes (una para expandir y otra cuando no). Sin embargo, cuando selecciono un TreeViewItem, lo resalto con un color diferente y también me gustaría cambiar el color de las imágenes (tengo los mismos en el otro color).

El problema es que no sé cómo establecer una propiedad de activación en el ToggleButton a la propiedad IsSelected en el TreeViewItem.

¿Algunas ideas?


Aquí si alguien más necesita esto.

<ControlTemplate TargetType="ToggleButton"> <Image Name="ExpanderImage" Height="24" Width="24" Source="../Images/Icons/32x32/Blue/Open.png" /> <ControlTemplate.Triggers> <Trigger Property="IsChecked" Value="True"> <Setter TargetName="ExpanderImage" Property="Source" Value="../Images/Icons/32x32/Blue/Close.png" /> </Trigger> <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource TemplatedParent}}" Value="True"> <Setter TargetName="ExpanderImage" Property="Source" Value="../Images/Icons/32x32/Green/Open.png" /> </DataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=IsChecked, RelativeSource={RelativeSource Self}}" Value="True" /> <Condition Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource TemplatedParent}}" Value="True" /> </MultiDataTrigger.Conditions> <Setter TargetName="ExpanderImage" Property="Source" Value="../Images/Icons/32x32/Green/Close.png" /> </MultiDataTrigger> </ControlTemplate.Triggers> </ControlTemplate>