Есть ли способ динамически изменять (и применять) стиль в WPF?
Допустим, у меня есть стиль, объявленный в 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>
Сейчас мне нужно изменить цвет Pink
, скажем, Green
], и все строки со стилем MyLineStyleKey
стали зелеными. При отпускании линия становится розовой, а при выборе - синей ... Теперь мне нужно было изменить невыделенное свойство (с розового на зеленый) ..., поэтому это не просто установка другого цвета, триггер (выделение> Синий) больше не будет работать ... Это возможно? Как?
Возможно ли привязать к розовому цвету в стиле, например, к фону кнопки, который будет отражать текущий цвет стиля?
РЕДАКТИРОВАТЬ:
Для 1 Я пробовал:
Style s = (Style)this.Resources["MyLineStyleKey"];
(s.Setters[0] as Setter).Value = background;
(s.Setters[1] as Setter).Value = background;
, но возникла исключительная ситуация:
После использования SetterBase (запечатано), его нельзя изменить.