簡體   English   中英

Xamarin 表單按鈕 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。 奇怪,但顯然列表中的那些值被卡在了不同的線程上......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM