ToggleButton이있는 그리드가 있습니다. ToggleButton에는 ControlTemplate이 있고이 ControlTemplate에는 타원과 패스를 정의했습니다. Atm ToggleButtons IsMouseOver 속성이 true이면 Ellipse 및 Path의 색상이 변경됩니다. 이제 Grid IsMouseOver 속성이 true 일 경우 색상을 변경하고 싶습니다. 그러나 나는 그것을 작동시킬 수 없다.부모로부터 속성을 가진 트리거 사용
<Grid Height="26"
x:Name="GroupboxHeader"
Background="Blue">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ToggleButton Grid.Column="1"
HorizontalAlignment="Right"
Margin="0 0 5 0"
OverridesDefaultStyle="True"
Background="LightGray"
Height="19"
Width="19">
<ToggleButton.Template>
<ControlTemplate>
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<TransformGroup.Children>
<TransformCollection>
<RotateTransform Angle="90" />
</TransformCollection>
</TransformGroup.Children>
</TransformGroup>
</Grid.LayoutTransform>
<Ellipse x:Name="circle"
HorizontalAlignment="Center"
Height="19"
Stroke="White"
VerticalAlignment="Center"
Width="19" />
<Path x:Name="arrow"
Data="M 1,1.5 L 4.5,5 L 8,1.5"
HorizontalAlignment="Center"
SnapsToDevicePixels="false"
Stroke="White"
StrokeThickness="2"
VerticalAlignment="Center" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="true">
<Setter Property="Stroke"
TargetName="circle"
Value="LightGray" />
<Setter Property="Stroke"
TargetName="arrow"
Value="LightGray" />
</Trigger>
<DataTrigger Binding="{Binding ElementName=GroupboxHeader, Path=IsMouseOver}">
<Setter Property="Stroke"
TargetName="circle"
Value="LightGray" />
<Setter Property="Stroke"
TargetName="arrow"
Value="LightGray" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
</Grid>
내가 말한 것처럼 두 가지 모두를 변경했습니다. ToggleButton의 IsMouseOver가 작동하지만 Grid의 IsMouseOver가 작동하지 않습니다. 이전과 같은 동작 :/ –
두 번째 방법이 효과적입니다. 고맙습니다 –