【发布时间】:2026-01-22 20:35:01
【问题描述】:
我正在构建一个 silverlight MVVM 应用程序(使用 GalaSoft MVVM 灯光模板)。该应用程序有一些用户控件。现在我偶然发现了一些似乎是命名空间问题的东西。命名空间是这样定义的:
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 被 using MyApp.Controls 替换,然后用 MyControl 实例化控件(但是,一旦我切换到设计视图,这将再次被覆盖)。
有人知道这种奇怪行为的原因吗?我原以为这是一个非常普遍的问题?
【问题讨论】:
-
能否附上示例代码?
-
对不起,这个项目相当复杂。我试图简化它,但问题消失了。所以一定有一些我忽略了:-(。
标签: silverlight xaml user-controls