Freigeben über


Hauptupdates für Threadsteuerelemente unter iOS

Diese plattformspezifische iOS-Plattform ermöglicht die Ausführung von Steuerelementlayout- und Renderingupdates im Hauptthread, anstatt sie in einem Hintergrundthread auszuführen. Es sollte selten benötigt werden, aber in einigen Fällen können Abstürze verhindert werden. Der in XAML verbrauchte Code wird durch Festlegen der Application.HandleControlUpdatesOnMainThread bindungsfähigen Eigenschaft auf true:

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

Alternativ kann sie mit der Fluent-API von C# genutzt werden:

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

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

Die Methode Application.On<iOS> gibt an, dass diese plattformspezifische Funktion nur unter iOS ausführbar ist. Die Application.SetHandleControlUpdatesOnMainThread Methode im Xamarin.Forms.PlatformConfiguration.iOSSpecific Namespace wird verwendet, um zu steuern, ob Steuerelementlayout- und Renderingaktualisierungen im Hauptthread ausgeführt werden, anstatt für einen Hintergrundthread ausgeführt zu werden. Darüber hinaus kann die Application.GetHandleControlUpdatesOnMainThread Methode verwendet werden, um zurückzugeben, ob Steuerelementlayout- und Renderingaktualisierungen im Hauptthread ausgeführt werden.