在xaml静态资源中引用C ++ / CLI类

时间:2014-10-17 20:53:19

标签: visual-studio xaml c++-cli

我目前正在为Windows 8.1开发一个应用程序,我想插入一个静态的c ++类

static ref class BooleanToVisibleConverter sealed : IValueConverter

进入位于另一个xaml文件中的资源列表:

<Application.Resources>
    <local:BooleanToVisibleConverter x:Key="BoolConvert"/>
</Application.Resources>

尽管我一直在努力,但我仍然遇到以下错误:     名称“BooleanToVisibleConverter”在名称空间“Using:App15”中不存在。

有关信息,“local:”是指“Using:App15”,它是c ++文件的命名空间。

我尝试了每个命名空间,我无法让自己完成这个工作......

1 个答案:

答案 0 :(得分:0)

这里可能还有其他问题(例如XAML文件中的命名空间声明),但有两件事情突然出现在我的类定义中:

  • 您需要公开宣布您的课程。 public ref class...
  • static在这里没有做任何事情。
    • 您可能会收到编译器警告:我得到warning C4091: 'static ' : ignored on left of 'BooleanToVisibleConverter' when no variable is declared
    • 它在C意义上不是静态的,它只适用于它出现的文件。
    • 它不是C#意义上的静态类(即,不是永不满足):IValueConverter需要实例化才能完成工作,而C ++ / CLI无论如何都使用不同的语法。

切换到public ref class BooleanToVisibleConverter ...,看看情况如何。