Modifier un style dynamiquement dans WPF

Est-il un moyen de changer(et appliquer) un style de façon dynamique dans WPF?

Dire que j'ai le style déclarée dans le code 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>
  1. Dans un moment, j'ai besoin de changement la Pink couleur, à, dire Greenet toutes les lignes avec style MyLineStyleKey est devenu Vert. Une ligne est Rose quand il est sorti, et Bleu lorsqu'il est sélectionné... Maintenant, j'avais besoin de changer les autres biens(Rose, Vert)..., donc ce n'est pas juste un réglage à une autre couleur, le déclencheur (sélection>Bleu) ne fonctionnera plus...Est-ce possible? Comment?
  2. Est-ce possible de lier à la couleur Rose dans le Style, disons, d'un arrière-plan du Bouton, qui reflètent le style de la couleur?

EDIT:
Pour 1 j'ai essayé:

Style s = (Style)this.Resources["MyLineStyleKey"];

(s.Setters[0] as Setter).Value = background;
(s.Setters[1] as Setter).Value = background;

mais une exception s'est produite:

Après un "SetterBase' est en cours d'utilisation
(sous scellés), il ne peut pas être modifié.

source d'informationauteur serhio