Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data binding Xamarin iOS:MvvMCross绑定导航项的后退按钮_Data Binding_Xamarin_Xamarin.ios_Mvvmcross_Uinavigationitem - Fatal编程技术网

Data binding Xamarin iOS:MvvMCross绑定导航项的后退按钮

Data binding Xamarin iOS:MvvMCross绑定导航项的后退按钮,data-binding,xamarin,xamarin.ios,mvvmcross,uinavigationitem,Data Binding,Xamarin,Xamarin.ios,Mvvmcross,Uinavigationitem,我想绑定导航项的back按钮,每当用户单击back按钮时,我想在视图模型中执行绑定到它的一些代码 我当前的代码: 视图: 当我点击后退按钮时,我希望它点击DoRefresh(),但它不是。有人能指出错误或帮我解决吗?您可以使用以下代码将单击的绑定到您的ICommand: this.AddBindings(new Dictionary<object, string>() { { NavigationItem.LeftBarButtonItem, "Clicked CheckIf

我想绑定导航项的back按钮,每当用户单击back按钮时,我想在视图模型中执行绑定到它的一些代码

我当前的代码:

视图:


当我点击后退按钮时,我希望它点击DoRefresh(),但它不是。有人能指出错误或帮我解决吗?

您可以使用以下代码将单击的
绑定到您的
ICommand

this.AddBindings(new Dictionary<object, string>()
{
    { NavigationItem.LeftBarButtonItem, "Clicked CheckIfLoading" }
});
this.AddBindings(新字典()
{
{NavigationItem.LeftBarButtonItem,“单击了CheckiLoading”}
});

旁注

如果单击的
不是默认绑定,则以下行可能不起作用:
bSet.Bind(NavigationItem.LeftBarButtonItem).To(vm=>vm.CheckiLoading)

使用
.For(labda)
方法可以实现绑定到特定属性的其他方法,如下所示:

bSet.Bind(NavigationItem.LeftBarButtonItem).For(lb=>lb.Clicked).To(vm=>vm.checkiLoading)

但在这种情况下,这将不起作用,因为单击lb时需要左手边的动作(
+=
-=

有关绑定的更多信息,请查看

private ICommand checkIfLoading;
public xViewModel()
            : base() 
        {
            this.messenger = mvxMessenger;
            checkIfLoading = new MvxCommand(DoRefresh);
        }
public  ICommand CheckIfLoading { get { return checkIfLoading; } }
private async void DoRefresh()
{
  await Task.Delay(5000);
}
this.AddBindings(new Dictionary<object, string>()
{
    { NavigationItem.LeftBarButtonItem, "Clicked CheckIfLoading" }
});