Хорошо, так прошло через это сообщение на форуме .
Вы можете Xaml-fy [то есть преобразовать экземпляр в декларативный Xaml] широко известное действие через
public static string ToXaml (this Activity activity)
{
StringBuilder xaml = new StringBuilder ();
using (XmlWriter xmlWriter = XmlWriter.Create (
xaml,
new XmlWriterSettings { Indent = true, OmitXmlDeclaration = true, }))
using (XamlWriter xamlWriter = new XamlXmlWriter (
xmlWriter,
new XamlSchemaContext ()))
using (XamlWriter xamlServicesWriter =
ActivityXamlServices.CreateBuilderWriter (xamlWriter))
{
ActivityBuilder activityBuilder = new ActivityBuilder
{
Implementation = activity
};
XamlServices.Save (xamlServicesWriter, activityBuilder);
}
return xaml.ToString ();
}
Ваш Xaml может содержать определенные артефакты, такие как ссылки на пространство имен System.Activities.Presentation, которое отображается как xmlns: sap = "...". Если это представляет проблему в вашем решении, прочитайте ссылку на источник выше - есть способ внедрить директивы, чтобы игнорировать нераспознанные пространства имен.
Оставлю это открытым некоторое время. Если кто-то может найти лучшее решение или улучшить его, пожалуйста, во что бы то ни стало:)