Example #1
0
        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;
            });
        }
Example #2
0
        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);
        }