我得到了:PresentationFramework.dll 中出现了“System.NullReferenceException”类型的第一次机会异常
当我为我的LessonPlannerViewModel类的构造函数使用参数时。
我使用 datatemplateselector 类在每周/每日视图之间切换。
public class ApplicationNavigationTemplateSelector : DataTemplateSelector
{
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
if (item is LessonPlannerViewModel)
{
var vm = item as LessonPlannerViewModel;
Window window = Application.Current.MainWindow;
if (vm.IsDailyView)
return window.FindResource("dailyViewTemplate") as DataTemplate;
else
return window.FindResource("weeklyViewTemplate") as DataTemplate;
}
return base.SelectTemplate(item, container);
}
}
public LessonPlannerViewModel(DateTime asOfDate)
{
_asOfDate = asOfDate;
if(_isDailyView)
LoadDailyData();
if(_isWeeklyView)
LoadWeeklyData();
...
这是不允许的吗?没有参数我也不例外......
我错了什么?
编辑:现在我将参数更改为整数并得到更好的消息;P
XamlParseException=> '在类型 'TBM.ViewModel.LessonPlannerViewModel' 上找不到匹配的构造函数。您可以使用 Arguments 或 FactoryMethod 指令来构造此类型。行号“13”和行位置“10”。
好的,现在可以理解了,那
<UserControl.Resources>
<ViewModel:LessonPlannerViewModel x:Key="LessonPlannerViewModelID" />
</UserControl.Resources>
没有参数。
那么现在该怎么办呢?