iOS 上的主线程控件更新

此项 iOS 平台特定功能支持在主线程而不是后台线程上执行控件布局和渲染更新。 它应该很少用到,但在某些情况下可以防止崩溃。 在 XAML 中使用它的方法是将 Application.HandleControlUpdatesOnMainThread 可绑定属性设置为 true

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

或者,可以使用 Fluent API 从 C# 使用它:

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

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

Application.On<iOS> 方法指定此平台特定仅在 iOS 上运行。 命名空间 Xamarin.Forms.PlatformConfiguration.iOSSpecific 中的 Application.SetHandleControlUpdatesOnMainThread 方法用于控制否在主线程而不是在后台线程上执行控件布局和渲染更新。 此外,Application.GetHandleControlUpdatesOnMainThread 方法还可用于返回是否在主线程上执行控件布局和渲染更新。