在将我的项目更新到统一API和MVVM交叉3.5稳定之后,我将在控制台中获得以下用于所有按钮绑定的交战消息.
我就是这样绑着的。
try {
this.AddBindings(
new Dictionary < object, string > () {
//all the command controls - such as buttons
{
btnXmit,
"TouchUpInside cmdXmitClicked"
}, {
btnCancel,
"TouchUpInside cmdBack"
},
});
} catch (Exception error) {
}在…
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/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxWeakEventSubscription.cs:52 at Cirrious.CrossCore.WeakSubscription.MvxCanExecuteChangedEventSubscription..ctor (ICommand源,System.EventHandler1 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 at Cirrious.MvvmCross.Binding.Touch.Target.MvxUIControlTouchUpInsideTargetBinding.SetValueImpl (System.Object target,0x00045在/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding.Touch/Target/MvxUIControlTouchUpInsideTargetBinding.cs:74 at Cirrious.MvvmCross.Binding.Bindings.Target.MvxConvertingTargetBinding.SetValue (System.Object值) 0x000bd在/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding/Bindings/Target/MvxConvertingTargetBinding.cs:64 at Cirrious.MvvmCross.Binding.Bindings.MvxFullBinding.UpdateTargetFromSource (System)中。对象值) 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 RemoteInspectioniOS3506 3506:119564 MvxBind: MvxBind: 212.37在绑定执行过程中出现的问题cmdBack - problem ArgumentNullException: MvxWeakEventSubscription参数名称中缺少源事件信息: sourceEventInfo at Cirrious.CrossCore.WeakSubscription.MvxWeakEventSubscription2[System.Windows.Input.ICommand,System.EventArgs]..ctor (ICommand source, System.Reflection.EventInfo sourceEventInfo, System.EventHandler1 targetEventHandler) 0x00028 in /Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxWeakEventSubscription.cs:52 at Cirrious.CrossCore.WeakSubscription.MvxCanExecuteChangedEventSubscription..ctor (ICommand来源:/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/CrossCore/Cirrious.CrossCore/WeakSubscription/MvxWeakSubscriptionExtensionMethods.cs:68 at Cirrious.MvvmCross.Binding.Touch.Target.MvxUIControlTouchUpInsideTargetBinding.SetValueImpl (System.Object target )中的System.EventHandler1 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) 0x000030x00045在/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding.Touch/Target/MvxUIControlTouchUpInsideTargetBinding.cs:74 at Cirrious.MvvmCross.Binding.Bindings.Target.MvxConvertingTargetBinding.SetValue (System.Object值) 0x000bd在/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding/Bindings/Target/MvxConvertingTargetBinding.cs:64 at Cirrious.MvvmCross.Binding.Bindings.MvxFullBinding.UpdateTargetFromSource (System)中。对象值) 0x00036在/Volumes/WORKSPACE/Workspace/V3.5/framework/framework/MvvmCross-3/Cirrious/Cirrious.MvvmCross.Binding/Bindings/MvxFullBinding.cs:162中
发布于 2015-02-26 20:13:53
您需要使用以下代码创建一个LinkerPleaseInclude.cs文件:
public class LinkerPleaseInclude
{
public void Include(ICommand command)
{
command.CanExecuteChanged += (s, e) => { if (command.CanExecute(null)) command.Execute(null); };
}
}编辑(根据我的评论):

https://stackoverflow.com/questions/28541931
复制相似问题