嘿我正在使用MVVM模式在Windows Phone 8.1中开发一个应用程序。我想从viewModel中 DateChanged事件的 DatePicker 中获取日期。 运行程序后,我收到此错误:
App1.exe WinRT中出现“Windows.UI.Xaml.Markup.XamlParseException”类型的第一次机会异常 信息:无法将类型'%0'的实例添加到类型的集合中 '%1'。 [行:117位置:97]类型的例外 'Windows.UI.Xaml.Markup.XamlParseException'发生在App1.exe中但是 未在用户代码中处理WinRT信息:无法添加实例 键入'%1'到类型'%1'的集合。 [线路:117位置:97] 附加信息:与此错误代码关联的文本可以 找不到。
我的观点是:
<DatePicker Grid.Row="1" Grid.Column="1"
VerticalContentAlignment="Center"
HorizontalContentAlignment="Center"
HorizontalAlignment="Left"
VerticalAlignment="Center" Margin="26,-0.333,0,0.5"
Date="{Binding Dates, Mode=TwoWay}">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="DateChanged">
<core:InvokeCommandAction Command="{Binding InitializeExpenseListCommand}"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</DatePicker>
viewModel:
public MainViewModel()
{
_dates = new DateTimeOffset(DateTime.Now);
}
private DateTimeOffset _dates;
public DateTimeOffset Dates
{
get { return _dates; }
set
{
_dates = value;
RaisePropertyChanged();
}
}
public ICommand InitializeExpenseListCommand
{
get { return new RelayCommand(InitializeExpenseList()); }
}
public Action InitializeExpenseList()
{
return () => Debug.WriteLine(_dates);
}
有人可以帮我解决这个错误吗?
答案 0 :(得分:3)
我的回答可能有点晚了但是如果您尝试添加的事件不存在或{{1}不支持,则会出现此错误(仍然存在)(在WinRT 8.1中仍然使用邮件中的占位符!) }。支持的活动包括:EventTriggerBehaviour
,Tapped
,PointerPressed
,Loaded
,DataContextChanged
,Click
,Checked
,{{1} },Unchecked
,SelectionChanged
,TextChanged
请参阅https://msdn.microsoft.com/en-us/library/windows/apps/dn469361.aspx