Пространство имен Silverlight Usercontrol clr - PullRequest
2 голосов
/ 11 апреля 2011

Я создаю приложение MVVM silverlight (используя шаблон GalaSoft MVVM light).Приложение имеет несколько пользовательских элементов управления.Теперь я наткнулся на что-то, что кажется проблемой с пространством имен.Пространства имен определяются следующим образом:

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 (однако это будет перезаписано снова, как только я переключусь на представление desgin).

Кто-нибудь знает причину этого странного поведения?Я бы ожидал, что это очень распространенная проблема?

1 Ответ

1 голос
/ 11 апреля 2011

Кажется, я нашел причину: у меня также был файл ресурсов с именем MyApp.Это привело к генерации класса MyApp, и поэтому компилятор запутался между классом MyApp и пространством имен MyApp.Я переименовал файл ресурсов в другое, и теперь проект снова компилируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...