Mvvm cross 3.5绑定显示交战

Sur*_*iya 2 binding mvvmcross

在将我的项目更新为Unified API和MVVM Cross 3.5 stable之后,我在控制台中收到以下交换消息的所有按钮绑定...

我这样绑定.

try {
 this.AddBindings(
  new Dictionary < object, string > () {

   //all the command controls - such as buttons
   {
    btnXmit,
    "TouchUpInside cmdXmitClicked"
   }, {
    btnCancel,
    "TouchUpInside cmdBack"
   },

  });
} catch (Exception error) {

}
Run Code Online (Sandbox Code Playgroud)

Cirrious.CrossCore.WeakSubscription.MvxWeakEventSubscription 2[System.Windows.Input.ICommand,System.EventArgs]..ctor (ICommand source, System.Reflection.EventInfo sourceEventInfo, System.EventHandler1 targetEventHandler)[0x00028]在Cirrious.CrossCore的/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxWeakEventSubscription.cs:52 .WeakSubscription.MvxCanExecuteChangedEventSubscription..ctor(ICommand source,System.EventHandler 1 eventHandler) [0x00000] in /Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxCanExecuteChangedEventSubscription.cs:21 at Cirrious.CrossCore.WeakSubscription.MvxWeakSubscriptionExtensionMethods.WeakSubscribe (ICommand source, System.EventHandler1 eventHandler)[0x00003] in /Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxWeakSubscriptionExtensionMethods. cs:68在Cirrious.MvvmCross.Binding.Touch.Target.MvxUIControlTouchUpInsideTargetBinding.SetValueImpl(System.Object target,System.Object value)[0x00045] in /Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3在/ Volumes/WORKSPACE/Workspace中的Cirrious.MvvmCross.Bindings.Bindings.Target.MvxConvertingTargetBinding.SetValue(System.Object value)[0x000bd]// Cirrious/Cirrious.CirvousCross.Binding.Touch/Target/MvxUIControlTouchUpInsideTargetBinding.cs:74 /V3.5/framework/framework/MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding/Bindings/Target/MvxConvertingTargetBinding.cs:64 at Cirrious.MvvmCross.Bindings.Bindings.MvxFullBinding.UpdateTargetFromSource(System.Object value)[0x00036 ] /Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding/Bindings/MvxFullBinding.cs:162 2015-02-16 17:48:14.433 RemoteInspectioniOS [3506: 119564] MvxBind:错误:212.37绑定执行绑定TouchUpInside for cmdBack期间出现问题 - 问题ArgumentNullException:MvxWeakEventSubscription中缺少源事件信息参数名称:SourceEventInfo at Cirrious.CrossCore.WeakSubscription.MvxWeakEventSubscription 2[System.Windows.Input.ICommand,System.EventArgs]..ctor (ICommand source, System.Reflection.EventInfo sourceEventInfo, System.EventHandler1 targetEventHandler)[0x00028] in/Volumes/WORKSPACE Cirrious.CrossCore.WeakSubscription.MvxCanExecuteChangedEventSubscription..ctor上的/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxWeakEventSubscription.cs:52(ICommand source,System.EventHa 1 eventHandler) [0x00000] in /Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxCanExecuteChangedEventSubscription.cs:21 at Cirrious.CrossCore.WeakSubscription.MvxWeakSubscriptionExtensionMethods.WeakSubscribe (ICommand source, System.EventHandler在Cirrious.MvvmCross.Binding.Touch.Target的/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxWeakSubscriptionExtensionMethods.cs:68中的ndler 1 eventHandler)[0x00003] .VvxUIControlTouchUpInsideTargetBinding.SetValueImpl(System.Object target,System.Object value)[0x00045] in /Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding.Touch/Target/ MvxUIControlTouchUpInsideTargetBinding.cs:74位于/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/Cirrious/中的Cirrious.MvvmCross.Bindings.Bindings.Target.MvxConvertingTargetBinding.SetValue(System.Object value)[0x000bd] Cirrious.MvvmCross.Binding/Bindings/Target/MvxConvertingTargetBinding.cs:64位于/Volumes/WORKSPACE/Workspace/V3.5/framework/中的Cirrious.MvvmCross.Binding.Bindings.MvxFullBinding.UpdateTargetFromSource(System.Object value)[0x00036]框架/ MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding /绑定/ MvxFullB inding.cs:162

enj*_*yem 6

您需要使用以下代码创建LinkerPleaseInclude.cs文件:

public class LinkerPleaseInclude
{
    public void Include(ICommand command)
    {
        command.CanExecuteChanged += (s, e) => { if (command.CanExecute(null)) command.Execute(null); };
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑(根据我的评论):

在此输入图像描述