【发布时间】:2012-01-29 08:19:00
【问题描述】:
我在 Visual Studio 2010 和 Blend 4 中的 silverlight 4 Windows Phone 7 项目中使用 MVVM Light 已经有一段时间了。 然后突然我开始在 VS 2010 和 Blend 中收到“无法创建“ViewModelLocator”的实例”错误。无法弄清楚为什么它现在应该出现。如果某个地方发生了一些我没有发现的变化,我如何追踪我的任何想法。 我所做的唯一更改,然后放回去,是在其中一个用户控件的数据上下文表达式前面添加一个“d:”。我有设计中绑定的想法,但在运行时以延迟方式以编程方式绑定。
我看到其他人发布了这个问题,但答案是指 Blend 中的一个错误,该错误显然已得到修复。这也发生在 VS2010 中。
App.xaml 看起来像
<Application x:Class="BillSplitter2.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
xmlns:vm="clr-namespace:BillSplitter2.ViewModel"
xmlns:converters="clr-namespace:HardMediumSoft.WP7.Tools.Converters;assembly=HardMediumSoft.WP7.Tools">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/ResourceDictionary1.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!--Global View Model Locator-->
<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True"/>
<!--Localization String Library-->
<local:LocalizedStrings xmlns:local="clr-namespace:BillSplitter2.Utilities"
x:Key="LocalizedStrings" />
<!--Converters -->
<converters:FloatConverter x:Key="FloatConverter" />
<converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
<converters:StringToBrush x:Key="StringToBrushConverter" />
</ResourceDictionary>
</Application.Resources>
<Application.ApplicationLifetimeObjects>
<!--Required object that handles lifetime events for the application-->
<shell:PhoneApplicationService Launching="Application_Launching"
Closing="Application_Closing"
Activated="Application_Activated"
Deactivated="Application_Deactivated" />
</Application.ApplicationLifetimeObjects>
【问题讨论】:
-
添加一些 App.xaml sn-p 代码? (初始化您的 ViewModelLocator + 命名空间声明)
标签: windows-phone-7 silverlight-4.0 mvvm mvvm-light blend