【发布时间】:2019-02-05 20:44:19
【问题描述】:
我有一个 3 屏幕选择器,但让我们先根据下面的视频回顾其中一个。
在我的模型视图中。
public ObservableCollection<string> DadosPessoa { get; }
private dbo_registro_dado _dado;
public dbo_registro_dado Dado
{
get => _dado;
set => SetProperty(ref _dado, value);
}
public AddDadosViewModel(dbo_registro_dado registro)
{
var contentsPessoa = await App.DadosRepo.GetAllDadosPessoaAsync();
DadosPessoa.Clear();
foreach (var d in contentsPessoa)
{
DadosPessoa.Add(d.nomePessoa);
}
Dado = registro;
}
在我的页面 xaml 中
<Label Text="{Binding Dado.pessoa}" ></Label>
<Picker Title="Pessoa" ItemsSource="{Binding DadosPessoa}" SelectedItem="{Binding Dado.pessoa}" />
当我打电话和屏幕时,在某些时候显示被选中,而在某些时候不出现,请查看我在选择器上方添加标签的视频,只是为了确定出现了什么信息
这是因为数据加载延迟,我该如何解决这个问题?
记住填充选择器的数据来自内部 sqlite 库
【问题讨论】:
-
你好@Ivan,我很惊讶你的代码可以编译。据我所知,您不能在未标有 async 关键字的方法中使用 await 。而且,如果 AddDadosViewModel 是 ViewModel 的 ctor,则不能将其标记为异步。您确定这是您正在运行的确切代码吗?
标签: xamarin xamarin.forms cross-platform mvvmcross picker