public Task InitializeViewAsync(IViewModel viewModel, object view, IDataContext context = null) { var tcs = new TaskCompletionSource <object>(); ThreadManager.InvokeOnUiThreadAsync(() => { if (context == null) { context = DataContext.Empty; } view = ToolkitExtensions.GetUnderlyingView <object>(view); var oldView = viewModel.GetCurrentView <object>(false); if (ReferenceEquals(oldView, view)) { tcs.SetResult(null); return; } if (oldView != null) { CleanupViewInternal(viewModel, oldView, context); } InitializeView(viewModel, view, context); ViewInitialized?.Invoke(this, new ViewInitializedEventArgs(view, viewModel, context)); tcs.SetResult(null); }); return(tcs.Task); }
internal static void SendViewInitialized(this VisualElement self, TNativeView nativeView) { ViewInitialized?.Invoke(self, new ViewInitializedEventArgs { View = self, NativeView = nativeView }); }
public static void SendViewInitialized(this VisualElement self, Ooui.Element nativeView) { ViewInitialized?.Invoke(self, new ViewInitializedEventArgs { View = self, NativeView = nativeView }); }