The static constructor adds the colour using itself as a key to the application resources.

(SystemColors uses SystemResourceKeys internally for every defined colour or brush, you have no access to that class however (which makes sense), alternatively you could subclass ResourceKey if you take issue with using the value as its own key)

Edit: If you have lots of colors, brushes and whatnot you could also use reflection to do the resource registering in the constructor (i used fields, if you use properties to expose the data you need to adjust this abit):

To use it as a resource you need to add it to a resource dictionary, for SystemColors that happens behind the scenes and those resources are not visible at the application level. See my answer for a resource approach.
–
H.B.Mar 30 '11 at 20:22