Partager via


Mises à jour du contrôle de thread principal sur iOS

Cette plateforme iOS permet d’effectuer des mises à jour de disposition et de rendu de contrôle sur le thread principal, au lieu d’être effectuées sur un thread d’arrière-plan. Il doit être rarement nécessaire, mais dans certains cas peut empêcher les incidents. Elle est consommée en XAML en définissant la Application.HandleControlUpdatesOnMainThread propriété pouvant être liée sur true:

<Application ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             ios:Application.HandleControlUpdatesOnMainThread="true">
    ...
</Application>

Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

Xamarin.Forms.Application.Current.On<iOS>().SetHandleControlUpdatesOnMainThread(true);

La Application.On<iOS> méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La Application.SetHandleControlUpdatesOnMainThread méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, est utilisée pour contrôler si les mises à jour de disposition et de rendu de contrôle sont effectuées sur le thread principal, au lieu d’être effectuées sur un thread d’arrière-plan. En outre, la Application.GetHandleControlUpdatesOnMainThread méthode peut être utilisée pour retourner si les mises à jour de disposition et de rendu du contrôle sont effectuées sur le thread principal.