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