diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 01d42a1fe2..9de5003b6a 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -10,7 +10,7 @@ - + diff --git a/src/ServiceControl.Config/Framework/Rx/RxScreen.cs b/src/ServiceControl.Config/Framework/Rx/RxScreen.cs index bbab4f7dbd..44b7a33f5f 100644 --- a/src/ServiceControl.Config/Framework/Rx/RxScreen.cs +++ b/src/ServiceControl.Config/Framework/Rx/RxScreen.cs @@ -37,7 +37,7 @@ public class RxScreen : RxViewAware, IScreen, IChild, IModalResult /// /// Raised after activation occurs. /// - public event EventHandler Activated = (sender, e) => { }; + public event AsyncEventHandler Activated = (sender, e) => Task.CompletedTask; public IEventAggregator EventAggregator { get; set; } @@ -70,7 +70,7 @@ async Task IActivate.ActivateAsync(CancellationToken cancellationToken) Log.Info("Activating {0}.", this); await OnActivate(); - Activated(this, new ActivationEventArgs + await Activated(this, new ActivationEventArgs { WasInitialized = initialized }); diff --git a/src/ServiceControl.Config/Framework/Rx/RxViewAware.cs b/src/ServiceControl.Config/Framework/Rx/RxViewAware.cs index 97fd822c56..7ad381fc88 100644 --- a/src/ServiceControl.Config/Framework/Rx/RxViewAware.cs +++ b/src/ServiceControl.Config/Framework/Rx/RxViewAware.cs @@ -2,6 +2,7 @@ { using System; using System.Collections.Generic; + using System.Threading.Tasks; using Caliburn.Micro; public class RxViewAware : RxPropertyChanged, IViewAware @@ -61,7 +62,7 @@ public virtual object GetView(object context = null) static void AttachViewReadyOnActivated(IActivate activatable, object nonGeneratedView) { var viewReference = new WeakReference(nonGeneratedView); - EventHandler handler = null; + AsyncEventHandler handler = null; handler = (s, e) => { ((IActivate)s).Activated -= handler; @@ -70,6 +71,8 @@ static void AttachViewReadyOnActivated(IActivate activatable, object nonGenerate { PlatformProvider.Current.ExecuteOnLayoutUpdated(view, ((RxViewAware)s).OnViewReady); } + + return Task.CompletedTask; }; activatable.Activated += handler; }