79624485

Date: 2025-05-16 04:46:01
Score: 0.5
Natty:
Report link

You can define your own DynamicResourceExtension

[MarkupExtensionReturnType(typeof(Color))]
[Localizability(LocalizationCategory.NeverLocalize)]
public class ColorFromBrushResourceExtension(string resourceKey) : DynamicResourceExtension(resourceKey)
{
    public override object ProvideValue(IServiceProvider serviceProvider)
    {
        return base.ProvideValue(serviceProvider) is SolidColorBrush brush
            ? brush.Color
            : Colors.Transparent;
    }
}

And use it this way:

<SolidColorBrush 
   x:Key="MyBrush"
   Color="{utils:ColorFromBrushResource OtherBrush}"
   Opacity="0.56" 
   po:Freeze="True" />
Reasons:
  • Probably link only (1):
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: oleh