Вот быстрый общий конвертер для логических значений, который позволяет вам указать значение для true и что-то другое для false для свойств любого типа.
[ValueConversion(typeof(bool), typeof(object))]
public class BooleanValueConverter : IValueConverter
{
public object FalseValue { get; set; }
public object TrueValue { get; set; }
#region IValueConverter Members
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
return (bool)value ? this.TrueValue : this.FalseValue;
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
return object.Equals(this.TrueValue, value) ? true : false;
}
#endregion
}
Используйте его так.
<SolidColorBrush x:Key="TrueBrush" Color="Green" />
<SolidColorBrush x:Key="FalseBrush" Color="Red" />
<local:BooleanValueConverter x:Key="BooleanBackground"
TrueValue="{StaticResource TrueBrush}"
FalseValue="{StaticResource FalseBrush}" />
...
Background="{Binding Path=Some.PropertyPath.Ending.With.A.Boolean,
Converter={StaticResource BooleanBackground}}" />