protected override void OnExecute(XenMessageContext ctx) { var req = ctx.Get <SaveXamlRequest>(); if (req == null) { return; } var success = true; var xaml = string.Empty; var error = string.Empty; try { var writer = new XenXamlWriter(); xaml = writer.Save(App.CurrentDesignSurface); } catch (Exception ex) { success = false; error = ex.ToString(); } ctx.SetResponse <SaveXamlResponse>(res => { res.Xaml = xaml; res.Successful = success; res.Error = error; }); }
public void Initialize(ITypeFinder typeFinder, IDesignThread thread, IXenCodeLoader loader, DesignSurfaceManager <TVisualElement> surface) { if (RootView == null) { throw new InvalidOperationException($"The class was registered with the wrong {nameof(Register)} overload. No {RootView} was assigned."); } _dr = DescriptorRegistrar.Create(typeFinder); XamlWriter = new XenXamlWriter(); TypeFinder = typeFinder; Surface = surface; DesignThread = thread; DesignThread.Context = RootView; Loader = loader; Root = Surface.SetDesignSurface(RootView); }