无法添加类型'%0'的实例收集类型'%1' Windows Phone 8.1 DatePicker中的错误

时间:2015-02-12 10:09:42

标签: c# xaml mvvm datepicker windows-phone-8.1

嘿我正在使用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);
    }

有人可以帮我解决这个错误吗?

1 个答案:

答案 0 :(得分:3)

我的回答可能有点晚了但是如果您尝试添加的事件不存在或{{1}不支持,则会出现此错误(仍然存在)(在WinRT 8.1中仍然使用邮件中的占位符!) }。支持的活动包括:EventTriggerBehaviourTappedPointerPressedLoadedDataContextChangedClickChecked,{{1} },UncheckedSelectionChangedTextChanged

请参阅https://msdn.microsoft.com/en-us/library/windows/apps/dn469361.aspx