Um mal zu verdeutlichen was ich meine hier ein stück code wie die Nutzung aussehen würde/könnte/sollte.
<TextBlock Text="Test">
<TextBlock.Foreground>
<BoolSelector Content="{Binding IsInCurrentMonth}">
<BoolSelector.True>
<BoolSelector Content="{Binding IsToday}">
<BoolSelector.True>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</BoolSelector.True>
<BoolSelector.False>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</BoolSelector.False>
</BoolSelector>
</BoolSelector.True>
<BoolSelector.False>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</BoolSelector.False>
</BoolSelector>
</TextBlock.Foreground>
</TextBlock>