# C-Sharp - Dynamic Resources in WPF
## Setting Dynamic Resource Keys
In this example, I needed to have a color value respected throughout a [[WPF]] app whenever it changed. Having the properties defined in a resource dictionary worked initially, but wouldn't update when the value changed. This appears to be because `UserControls` that have a `MergedDictionaries` object set will effectively create a copy of those properties and won't care if the original is changed.
```csharp
private void SetApplicationColorResource(string key, string rgbColorField)
{
string[] rgbValues = rgbColorField
.Trim(new char[] { 'r', 'g', 'b', ')', '(', ' ' })
.Split(',');
Color configuredColor = Color.FromRgb(
Convert.ToByte(rgbValues[0]),
Convert.ToByte(rgbValues[1]),
Convert.ToByte(rgbValues[2]));
Application.Current.Resources[key] = configuredColor;
}
```
```csharp
<Application x:Class="Launcher.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="Application_Startup">
<Application.Resources>
<Color x:Key="Color_Booth_Primary">#d56103</Color>
<Color x:Key="Color_Booth_PrimaryText">#d56103</Color>
</Application.Resources>
</Application>
```
#development #c_sharp #wpf