Warum erhalte ich DependencyProperty.UnsetValue beim Konvertieren eines Werts in einem MultiBinding?

Habe ich eine extrem einfache IMultiValueConverter, ODER einfach nur zwei Werte. Im Beispiel unten, ich will umkehren den ersten Wert mit einer ebenso einfachen boolean-Wechselrichter.

<MultiBinding Converter="{StaticResource multiBoolToVis}">
    <Binding Path="ConditionA" Converter="{StaticResource boolInverter}"/>
    <Binding Path="ConditionB"/>
</MultiBinding>

- und Wechselrichter:

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
}

Wenn ich den boolInverter, der erste Wert in der MultiValueConverter wird eine "DependencyProperty.UnsetValue". Es gibt keine Probleme, wenn ich nicht mit dem Konverter (andere als nicht die Logik, die ich bin wollen, natürlich).

Bin ich etwas fehlt? Stepping über den debugger zeigt, dass die InverseBoolConverter ist richtig Invertierung der Wert, den ich übergeben, aber, der Wert wird dann nicht als "gesendet", um die MultiValueConverter.

InformationsquelleAutor der Frage Erik Kerber | 2010-05-11

Schreibe einen Kommentar