Преобразование WPF вызывает исключение конструктора Visual Studio

Конвертер, такой как приведенный ниже, приведет к тому, что дизайнер Visual Studio 2008 не будет отображать xaml и выдает ошибку "Указанный состав недействителен. " исключение.

public class ItemsVisibilityToGridColumnWidthConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        //THE TWO OFFENDING LINES...
        var itemsVisibility = (Visibility)values[0];
        var orientation = (Orientation)values[1];

        if (orientation == Orientation.Horizontal && itemsVisibility != Visibility.Visible)
        {
            return new GridLength(0);
        }

        return new GridLength(4, GridUnitType.Star);
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

Изменение актерского состава для использования такого метода решает проблему:

static class EnumCaster
{
    internal static Orientation CastAsOrientation(object value)
    {
        if (value is Enum)
        {
            return (Orientation)value;
        }
        return Orientation.Horizontal;
    }
    internal static Visibility CastAsVisibility(object value)
    {
        if (value is Enum)
        {
            return (Visibility)value;
        }
        return Visibility.Visible;
    }
}

У меня вопрос, что WFF не так с дизайнером Visual Studio? И есть ли лучший способ привести эти объекты в соответствующие им Enum таким образом, чтобы дизайнер неПриступает? "

Ответы на вопрос(2)

Ваш ответ на вопрос