Xamarin Forms 按钮 IsVisible 绑定在 Android 上不起作用

Xamarin Forms Button IsVisible Binding not Working on Android

我尝试搜索相同的错误但没有结果所以这是我的问题:

我有一个将部署在 Android 和 iOS 上的 Xamarin 表单项目。在我的一个视图中,我有 2 个按钮,只有当用户首先选择了几个选项时它们才会可见。这在 iOS 上工作得很好,但是当我在 Android 模拟器上部署时,按钮不会显示,除非我切换方向。这是代码示例:

<Button
    Grid.Column="0"
    Grid.Row="0"
    TextColor="{StaticResource AwesomeTxtColor}"
    Text="Click Me"
    BackgroundColor="{StaticResource AwesomeBgColor}"
    IsVisible="{Binding SelectedIndex, Converter={StaticResource isGreaterOrEqualZero}}"
    Command="{Binding AwesomeCommand}" />

同样,转换器也在每个调试会话和绑定中工作。这个问题只在 Android 发生在我身上。 iOS 正在按预期工作。 Xamarin 表单版本:2.3.4.267。任何人以前都遇到过这种情况或对可能出现的问题有任何想法吗?

原来是线程问题。用于在我的视图中填充选择器的列表是使用以下方式加载的:

await Task.Run(() => {
  //API calls to load lists
});

我将其更改为:

Device.BeginInvokeOnMainThread(() => {
  //API calls to load lists
});

现在 Android 更新了 UI。奇怪但显然列表上的那些值被卡在不同的线程上......