Por que obtenho um DependencyProperty.UnsetValue ao converter um valor em uma MultiBinding?
Eu tenho um IMultiValueConverter extremamente simples que simplesmente dois valores de OR. No exemplo abaixo, desejo inverter o primeiro valor usando um inversor booleano igualmente simples.
<MultiBinding Converter="{StaticResource multiBoolToVis}">
<Binding Path="ConditionA" Converter="{StaticResource boolInverter}"/>
<Binding Path="ConditionB"/>
</MultiBinding>
e o inversor:
public class BoolInverterConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is bool)
{
return !((bool)value);
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
Quando incluo o boolInverter, o primeiro valor no MultiValueConverter se torna um "DependencyProperty.UnsetValue". Não há problemas quando não uso o conversor (exceto a lógica que pretendo, é claro).
Estou esquecendo de algo? Percorrer o depurador mostra que o InverseBoolConverter está invertendo corretamente o valor que eu transmito, mas esse valor não está sendo 'enviado' para o MultiValueConverter.