Alterando os estilos em tempo de execução no WPF

Eu estou tentando permitir que o usuário personalize os elementos em um aplicativo WPF. O que eu estou tentando alcançar é, se eu tiver uma caixa de listagem que especifica todos os elementos do formulário (TextBox, label etc.), o usuário pode escolher um elemento form e definir a propriedade style. O primeiro plano do TextBox deve estar em preto e assim por diante. E de acordo com o estilo que estou pretendendo aplicar, todos os TextBoxes devem ser parecidos.

Eu não sou capaz de descobrir uma maneira de conseguir isso. Eu tentei um exemplo onde vários estilos pré-definidos podem ser carregados em tempo de execução. Então, agora, gostaria de encontrar uma maneira de alterar a propriedade de diferentes elementos em tempo de execução.

UPDATE:

Eu tentei criar um novo estilo a partir do código por trás.

XAML

<Label Content="SAMPLE" Style="{DynamicResource Style1}" x:Name="label1" />
<Button Content="Button" Click="Button_Click" />

e no código por trás ou seja, no clique do botão eu tentei isso:

Style style = new Style { TargetType = typeof(Label) };
style.Setters.Add(new Setter(Control.ForegroundProperty, Brushes.Black));
Application.Current.Resources["Style1"] = style;

Mas não está sendo atualizado.

Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion