Acessing WPF XAML Resources from non-WPF code
I am currently building an application that consists of several components, each of which is essentially a WPF user control with a little C# code around it for the plugin system to work (using MEF).

The problem I am having is that each component should include an icon and for niceness purposes I defined that as a `System.Windows.Media.Brush` so I can just use the `DrawingBrush` exported from Design there. Now I need to access that piece of XAML from non-WPF C# where I currently have the horrible workaround of instantiating the user control and asking it for the resource:

    private Brush CachedIcon = null;

    public override Brush Icon
    {
        get
        {
            if (CachedIcon == null)
            {
                CachedIcon = (Brush)(new BlahControl().TryFindResource("Icon"));
            }
            return CachedIcon;
        }
    }

I couldn't find a way to read that resource (which is a .xaml file, and referenced in a `ResourceDictionary` in the custom control) from a "normal" C# class. Anything belonging to WPF has that nice `TryFindResource` method but how to do that otherwise? I don't want to have the XAML file with the icon lying around un-embedded.
Acessing WPF XAML Resources from non-WPF code
===

I am currently building an application that consists of several components, each of which is essentially a WPF user control with a little C# code around it for the plugin system to work (using MEF).

The problem I am having is that each component should include an icon and for niceness purposes I defined that as a `System.Windows.Media.Brush` so I can just use the `DrawingBrush` exported from Design there. Now I need to access that piece of XAML from non-WPF C# where I currently have the horrible workaround of instantiating the user control and asking it for the resource:

    private Brush CachedIcon = null;

    public override Brush Icon
    {
        get
        {
            if (CachedIcon == null)
            {
                CachedIcon = (Brush)(new BlahControl().TryFindResource("Icon"));
            }
            return CachedIcon;
        }
    }

I couldn't find a way to read that resource (which is a .xaml file, and referenced in a `ResourceDictionary` in the custom control) from a "normal" C# class. Anything belonging to WPF has that nice `TryFindResource` method but how to do that otherwise? I don't want to have the XAML file with the icon lying around un-embedded.