Resource keys can be any, so you can use Colorboth the key and value at the same time:
public static class MyColors
{
static MyColors()
{
App.Current.Resources.Add(MyHighlightColorKey, MyHighlightColorKey);
}
public static readonly Color MyHighlightColorKey = Color.FromArgb(255, 0, 88, 0);
}
The static constructor adds color, using itself as a key to application resources.
(SystemColors SystemResourceKeys , ( ), ResourceKey, )
:
<TextBox>
<TextBox.Background>
<SolidColorBrush Color="{DynamicResource {x:Static local:MyColors.MyHighlightColorKey}}"/>
</TextBox.Background>
</TextBox>
, :
<Window.Resources>
<Color x:Key="{x:Static local:MyColors.MyHighlightColorKey}" A="255" R="255" G="0" B="0"/>
</Window.Resources>
: , ( , ):
static MyColors()
{
FieldInfo[] keyFieldInfoArray = typeof(MyColors).GetFields();
foreach (var keyFieldInfo in keyFieldInfoArray)
{
object value = keyFieldInfo.GetValue(null);
App.Current.Resources.Add(value, value);
}
}