public static void Initialize() { Fusion.LayoutTracker.Implementation = trackerFunc => { var child = new ReplaySubject <IEnumerable <IControl> >(1); var layer = child.Layer(); var layerElm = Fusion.Application.MainThread .InvokeAsync(() => layer.NativeHandle) .ToObservable() .Select(elm => (FrameworkElement)elm); var content = trackerFunc(new LayoutTracker(layerElm)); child.OnNext(new[] { content }); return(layer.WithSize(content.DesiredSize)); }; }