我在App.xaml.cs中添加了我的值转换器,但是当我再添加一个它时,它在应用程序启动时给出了一个我不知道如何处理的例外。它位于App.g.i.cs:
例外:
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
#endif
以下是App.xaml.cs中的转换器
<Application x:Class="cMC.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:myApp">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Assets/ResourceDictionaries/ResrcDict1.xaml" />
<ResourceDictionary Source="/DataTemplates/DataTemplates.xaml" />
</ResourceDictionary.MergedDictionaries>
<vm:ViewModelLocator x:Key="Locator" xmlns:vm="using:myApp.ViewModel" />
<ic:InverseBooleanConverter x:Key="InverseBoolToVisibility" xmlns:ic="using:myApp.Helpers"/>
<mc:SegmentPartWrapper x:Key="SegmentPartWrapper" xmlns:mc="using:myApp.ViewModel"/>
<mc:SegmentDateCNVRTR x:Key="SegmentDateCNVRTR" xmlns:mc="using:myApp.ViewModel"/>
<mc:RailIconBooleanConverter x:Key="RailIconBooleanConverter" xmlns:mc="using:myApp.ViewModel"/>
<mc:CarIconBooleanConverter x:Key="CarIconBooleanConverter" xmlns:mc="using:myApp.ViewModel"/>
</ResourceDictionary>
这个导致问题“CarIconBooleanConverter”,但它在ViewModel中的代码与“RailIconBooleanConverter”完全相同
<mc:CarIconBooleanConverter x:Key="CarIconBooleanConverter" xmlns:mc="using:myApp.ViewModel"/>
修改
我从App.xaml.cs中删除了其他一个转换器,“CarIconBooleanConverter”工作正常。是因为转换器太多了吗?
答案 0 :(得分:0)
您的MVVM Light类ViewModelLocator似乎存在问题。您可能没有正确设置它。那个或你还没有声明默认的ServiceLocationProvider,如异常所述。
static ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
}
查看它是否在ViewModelLocator类中。