gpt4 book ai didi

xaml - 将 Activity 序列化为 xaml

转载 作者:行者123 更新时间:2023-12-03 00:29:39 25 4
gpt4 key购买 nike

我在 Google 上搜索了一下,似乎找不到任何 Xaml-fying 事件的示例 - 好、坏或其他!

public static string ToXaml (this Activity activity)
{
// i would use ActivityXamlServices to go from Xaml
// to activity, but how to go other way? documentation
// is slim, and cannot infer proper usage of
// ActivityXamlServices from Xml remarks :S
string xaml = string.Empty;
return xaml;
}

欢迎提供提示、提示、指点:)

<小时/>

注意:如此找到this 。将完成工作并在工作后更新。无论如何,任何人都想打败我。更好的是,如果您能找到一种方法来摆脱 WorkflowDesigner,这似乎很奇怪。

最佳答案

好的,已经解决了 this forum posting .

您可以通过 Xaml-fy [即将实例转换为声明性 Xaml] 众所周知的 Activity

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 可能包含某些工件,例如对显示为 xmlns:sap="..."的 System.Activities.Presentation 命名空间的引用。如果这在您的解决方案中出现问题,请阅读上面的源链接 - 有一种方法可以注入(inject)指令来忽略无法识别的 namespace 。

将保持此状态一段时间。如果有人能找到更好的解决方案,或对此进行改进,请务必:)

关于xaml - 将 Activity 序列化为 xaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2337030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com