To doprowadza mnie do szału. Mam prosty przycisk przełączania WPF, z dwoma wyzwalaczami dla IsChecked. Jedna dla wartości jest prawdziwa, a druga dla wartości będącej fałszem. Działa dobrze, gdy przycisk nie jest zaznaczony, mój styl na fałsz jest stosowany; jednak system nigdy nie stosuje stylu, gdy IsChecked ma wartość true. Zawsze po prostu używa domyślnego stylu Windows Blue Chrome. Jakieś pomysły?Przycisk WPF ToggleButton IsChecked Trigger
<ToggleButton Content="Control 1" Width="200" Margin="0,0,0,10" Focusable="False">
<ToggleButton.Resources>
<Style TargetType="{x:Type ToggleButton}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF3F3F3" Offset="1"/>
<GradientStop Color="LawnGreen" Offset="0.307"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF3F3F3" Offset="1"/>
<GradientStop Color="Red" Offset="0.307"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Resources>
</ToggleButton>
Każda pomoc zostanie bardzo doceniona. Jestem pewien, że to coś oczywistego, że po prostu przeoczę.
Próbowałem dodać twój kod do pustej siatki i działa dobrze. Czy masz zasoby stylu globalnego, które mogą wpływać na Twoją kontrolę? lub do którego kontenera dodajesz ten przycisk? –
Z pewnością nie. Był to całkiem nowy plik .dll, w którym umieszczono moje elementy sterowania użytkownika, a ja nie utworzyłem jeszcze żadnych zasobów. To było takie dziwne. Poniższe zalecenie działało, ale na pewno chciałbym wiedzieć, dlaczego moja wersja nie. – Llaslo