internal static Task <SceneViewModel> GetEditor(SceneViewModel editor, string path) { var viewAware = (IViewAware)editor; viewAware.ViewAttached += (sender, e) => { var frameworkElement = (FrameworkElement)e.View; async void loadedHandler(object sender2, RoutedEventArgs e2) { frameworkElement.Loaded -= loadedHandler; await editor.Load(string.Format(path)); } frameworkElement.Loaded += loadedHandler; }; return(Task.FromResult(editor)); }