首页 > 解决方案 > 捕获 API 结果 - Xamarin 表单

问题描述

我在我的新项目中引用的共享项目中有这个功能。基本上这个功能的工作是从我的 api 中获取联系信息。

GetContact() 函数

我在加载我的个人资料页面并将结果对象(联系人)设置为我的个人资料页面绑定上下文时调用它。

调用函数

我绑定在我的用户界面上。

用户界面

我的问题是,因为在 api 上获取数据总是异步的。即使尚未获取 api 的结果,我的代码也会立即执行并退出。导致空绑定上下文。有什么方法可以捕获 api 结果并更新我的 bindingcontext 以便我也可以更新 ui?

标签: xamarin

解决方案


对于异步 BindingContext,我使用以下内容:

XAML:

<Label Text="{Binding Type}"
       TextColor="#142E5F"
       Margin="10,0,0,0" 
       Font="Bold, 15"/>

视图模型:

public int _type;
public int Type
    {
        get => _type;
        set => SetProperty(ref _type, value);
    }

使用 SetProperty,您可以更改执行时间的值。您只需要分配结果。

public override async void OnAppering()
        {
            base.OnAppering();
            Type = await APICall();
        }

推荐阅读