如何确定" targetType"的类型IValueConverter中的参数"转换"功能?

时间:2014-08-20 13:15:17

标签: windows windows-runtime windows-phone-8.1 c++-cx

这是函数签名:

Platform::Object^  ConverterImpl::Convert(Object^ value, TypeName targetType, Object^ parameter, String^ culture)

如何验证“targetType”对应的数据类型?目前我这样做:

if(targetType.Name == "Windows.UI.Xaml.Media.Brush")

但必须有更好的解决方案。

1 个答案:

答案 0 :(得分:3)

正确的语法是:

auto maybeBrush = dynamic_cast<Brush^>(parameter);
if (maybeBrush != nullptr)
{
    // We have a brush, let's do something with it!
}

您也可以这样做(采取预防措施取消引用空值):

if (value->GetType() == Brush::typeid)
{
    // We have a brush here, too!
}

示例实现可以在Hilo项目中找到,或者更方便地在this blog post找到。