测试 converterparameter 是否为 System.Windows.Visibility 类型

Test if converterparameter is of type System.Windows.Visibility

我需要检查转换器参数的类型是否为 System.Windows.Visibility:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    //....
    if (parameter is Visibility)
    {
        Console.WriteLine("parameter is Visibility");
    }
    if (parameter is Enum)
    {
        Console.WriteLine("parameter is Enum");
    }
    if (parameter.GetType().IsEnum)
    {
        Console.WriteLine("parameter.GetType().IsEnum");
    }
    //.......
}

三个 if 条件都不计算为真,在其他 SO 问题中推荐使用第二个和第三个测试方法。调试器指示参数为 System.Windows.Visibility.Collapsed,所以没有问题。 我忽略了哪个明显的事实?

默认情况下,输入到 ConverterParameter 中的文本被视为字符串,除非使用 StaticResource

引入对象实例