Как сказал Клемс, вам стоит взглянуть на привязку данных. Привязка данных - это действительно важная вещь в WPF.
Но вот одно решение, которое прекрасно работает:
- Создайте новый класс с именем ViewModel
- Добавьте свойство к этому классу, как
public string MyColor { get; set; } = "#FFFFFF";
- Установите DataContext в вашем XAML:
<Window.DataContext>
<local:ViewModel/>
</Window.DataContext>
Свяжите свою собственность со своим XAML, где хотите. Например:
<Window.Resources>
<Style TargetType="Button">
<Setter Property="Background" Value="{Binding MyColor}"/>
</Style>
</Window.Resources>