Czy istnieje sposób, aby zmienić (i zastosować) styl dynamicznie w WPF?Zmiana stylu dynamicznie w WPF
że mam styl zadeklarowane w XAML:
<Style TargetType="local:MyLine"
x:Key="MyLineStyleKey" x:Name="MyLineStyleName">
<Setter Property="Fill" Value="Pink"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter Property="Fill" Value="Blue" />
</Trigger>
</Style.Triggers>
</Style>
za chwilę, muszę zmiany kolorem
Pink
, do, powiedzmyGreen
, a wszystkie linie z stylemMyLineStyleKey
stał Zielony . Linia jest różowa po zwolnieniu, a niebieska po wybraniu ... Teraz potrzebuję zmienić niezaznaczoną właściwość (od różowego do zielonego) ..., więc to nie jest tylko ustawienie jej na inny kolor, spust (wybór> niebieski) nie będzie działać ... Czy to możliwe? W jaki sposób?Czy to możliwe, aby powiązać z kolorem różowym w stylu, powiedzmy, na tle przycisku, który będzie odzwierciedlał aktualnie używany kolor stylu?
Edycja:
Na że próbował:
Style s = (Style)this.Resources["MyLineStyleKey"];
(s.Setters[0] as Setter).Value = background;
(s.Setters[1] as Setter).Value = background;
lecz wyjątkiem wystąpił:
Po 'SetterBase' jest używany (zamknięte), to nie można modyfikować.
Można to zrobić dYnamicznie. – Wernight