App.xaml中的错误试图在Windows Phone 8项目中使用MVVM Light
当我通过NuGet添加MVVM Light包时,我会在安装期间添加引用App.xaml文件中的行的错误。 这些错误仅出现在Windows Phone 8项目中。 Windows Phone 7项目中完全相同的行不会引发任何错误。 MVVM Light添加的行是:
这些行位于结束标记之前。 “错误列表”窗格中报告的错误是:
- 每个字典必须有一个关联的密钥
- 名称“ViewModelLocator”在命名空间“clr-namespace:sdkVoiceAlarmClockWP8CS.ViewModel”中不存在
这似乎有意义,因为标记没有键属性。 但是,如果我试图将这一行移动到外面 块,我得到一组全新的错误。
就ViewModelLocator问题而言,我进行了双重检查,并将以下命名空间作为属性添加到标记中,并且未标记任何错误:
xmlns:vm="clr-namespace:sdkVoiceAlarmClockWP8CS.ViewModel" mc:Ignorable="d"
为什么这一组完全相同的行在Windows Phone 7项目中工作正常?如何修复我在Windows Phone 8项目中遇到的命名空间问题?
以防这是由于更复杂的问题,这里是整个App.xaml文件:
我以前遇到过这个问题。 为了使它在WP8中工作,请替换为:
只有这样:
但我并不担心为什么它适用于WP7但不适用于WP8
将所有内容插入到ResourceDictionary中,而不是在具有所有必需名称空间的ApplicationResources中,如此stackoverflow问题中所述 。