【发布时间】:2020-11-23 00:51:16
【问题描述】:
我正在尝试将从 API 获得的结果放到选择器中。我就是这样做的。
public partial class AddTaskPage : ContentPage
{
public AddTaskPage()
{
InitializeComponent();
BindingContext = this;
}
private async void GetUsers()
{
using (var client = new HttpClient())
{
var uri = "http://diplomaxmcws-dev.us-east-2.elasticbeanstalk.com/api/Users/GetAllUsers";
var result = await client.GetStringAsync(uri);
var ResultList = JsonConvert.DeserializeObject<List<XMCUsers>>(result);
Users = new ObservableCollection<XMCUsers>(ResultList);
BindingContext = this; // for sureness
}
}
public ObservableCollection<XMCUsers> Users { get; set; }
protected override void OnAppearing()
{
GetUsers();
BindingContext = this; //for sureness
}
}
在 XAML 文件中。
<Picker Margin="20,40,20,0"
HeightRequest="50" Title="Choose"
ItemsSource="{Binding Users}"
ItemDisplayBinding="{Binding Full_Name}"
x:Name="ddProfession">
通过调试,我看到 Users 属性从 API 中正确获取了结果,但绑定不会在视图中显示任何内容。我不知道它是否与 GetUsers() 方法有关,因为它是异步的。任何帮助都很有价值。
【问题讨论】:
-
您的 XMCUsers 对象是否有一个名为 Full_Name 的有效字段,如果有,该字段是否从 API 调用中获取正确的数据?
-
两者都是...
-
@ShpendPalushi 你好,你可以看看这个case,问题好像和你一样。
标签: xamarin xamarin.forms data-binding picker