Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set the icon color in a MahApp application

I want to set the icon color in a MahApp application, but the brush is not working. In this example the icoun should be white, but still it is black.

<Rectangle Width="20" Height="20">
    <Rectangle.Resources>
       <SolidColorBrush x:Key="BlackBrush" Color="White" />
    </Rectangle.Resources>
    <Rectangle.Fill>
        <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_cupcake}" />
    </Rectangle.Fill>
 </Rectangle>

This is the resource icons.xml file in my app.

<Canvas Width="48" Height="48" Clip="F1 M 0,0L 48,0L 48,48L 0,48L 0,0" x:Key="appbar_cupcake">
    <Path Width="24" Height="25" Canvas.Left="13" Canvas.Top="11" Stretch="Fill" Fill="{DynamicResource BlackBrush}" Data="F1 M 32,14C 33.1046,14 34,14.8954 34,16C 34,16.3643 33.9026,16.7058 33.7324,17L 34,17C 35.1046,17 36,17.8954 36,19C 36,20.1046 35.1046,21 34,21L 35,21C 36.1046,21 37,21.8954 37,23C 37,24.1046 36.1046,25 35,25L 15,25C 13.8954,25 13,24.1046 13,23C 13,21.8954 13.8954,21 15,21L 16,21C 14.8954,21 14,20.1046 14,19C 14,17.8954 14.8954,17 16,17L 16.2676,17C 16.0974,16.7058 16,16.3643 16,16C 16,14.8954 16.8954,14 18,14C 19,14 21,12 25,11C 29,14 31,14 32,14 Z M 15,26L 35,26L 32,36L 18,36L 15,26 Z " />
</Canvas>

What I'm doing wrong?

like image 219
Raúl Otaño Avatar asked Dec 21 '13 17:12

Raúl Otaño


1 Answers

If you want to dynamically set the Fill color, you can do that by setting the Fill property. As you can see, you are already using the Fill property for the VisualBrush. Fortunately you can use the VisualBrush also in the OpacityMask property.

<Rectangle Fill="Black">
    <Rectangle.OpacityMask>
        <VisualBrush Visual="{StaticResource appbar_cupcake}" Stretch="Fill" />
    </Rectangle.OpacityMask>
</Rectangle>

Hope that helps.

like image 96
Michael Mairegger Avatar answered Nov 18 '22 10:11

Michael Mairegger