Я создаю кнопку с простой полилинией, которую я хочу изменить, когда кнопка отключена (btnUp.IsEnabled = false
).
Я пробовал это:
<RepeatButton x:Name="btnUp" Foreground="Green">
<RepeatButton.Style>
<Style TargetType="{x:Type RepeatButton}">
<Setter Property="Content">
<Setter.Value>
<Polyline x:Name="arrowUp" Points="0,2 3,0 6,2" Stroke="{Binding RelativeSource={RelativeSource AncestorType=RepeatButton}, Path=Foreground, Mode=TwoWay}" StrokeThickness="2"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="#FFFFFFFF"/>
</Trigger>
</Style.Triggers>
</Style>
</RepeatButton.Style>
</RepeatButton>
НоПолилиния имеет тот же (зеленый) цвет, когда кнопка отключена.Хотя я и ожидал, что он будет белым из-за привязки данных между button.foreground и polyline.stroke.
Однако, если я переключу триггер на это, он будет работать (кнопка свернута):
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>