Silverlight Usercontrol clr命名空间

时间:2011-04-11 13:07:23

标签: silverlight xaml user-controls

我正在构建一个silverlight MVVM应用程序(使用GalaSoft MVVM灯光模板)。该应用程序有一些UserControls。现在,我已经看到了一些似乎是名称空间问题的东西。命名空间以这种方式定义:

MyApp.Controls
-> my user controls 
MyApp.View
-> different pages of the app (which use the user controls)
MyApp
-> the namespace of the main page (root namespace)

只要我不向任何UserControls提供 x:Name ,这就可以正常工作。一旦定义了 x:Name ,构建就会中断以下消息:

error CS0426: The type name 'Controls' does not exist in the type 'MyApp.MyApp'

真是太奇怪了!我可以通过将命名空间 MyApp.Controls 更改为 MyAppControls 或通过操作生成的代码来解决此问题,以便直接引用 MyApp.Controls.MyControl 替换为使用MyApp.Controls ,然后使用 MyControl 实例化控件(但是,只要切换到设计视图,这将再次被覆盖)。

有谁知道这种奇怪行为的原因?我原以为这是一个非常普遍的问题?

1 个答案:

答案 0 :(得分:1)

我想我找到了原因:我还有一个名为MyApp的资源文件。这导致生成类MyApp,因此编译器在类MyApp和命名空间MyApp之间混淆。我已将资源文件重命名为不同的东西,现在项目再次编译。