C# 序列化可视树
我正在寻找一种从对象序列化/保存可视化树的方法。即使不是所有(自定义)控件都可用,也可以在其他应用程序中重新加载/显示此树。结果应该是比例可伸缩(矢量图)和独立控制。到目前为止,我为我的问题找到的最佳解决方案是XamlWriter.Save(),但这会生成包含所有依赖项的xaml。C# 序列化可视树,c#,.net,wpf,visual-studio,serialization,C#,.net,Wpf,Visual Studio,Serialization,我正在寻找一种从对象序列化/保存可视化树的方法。即使不是所有(自定义)控件都可用,也可以在其他应用程序中重新加载/显示此树。结果应该是比例可伸缩(矢量图)和独立控制。到目前为止,我为我的问题找到的最佳解决方案是XamlWriter.Save(),但这会生成包含所有依赖项的xaml。 Xps几乎就是我想要的,但是没有xpsviewer是否可以显示它们?正如@HighScore所说,与其考虑如何序列化UI对象,不如考虑如何序列化数据 设计数据模型并将其序列化为您喜欢的任何格式。我更喜欢JSON,因为
Xps几乎就是我想要的,但是没有xpsviewer是否可以显示它们?正如@HighScore所说,与其考虑如何序列化UI对象,不如考虑如何序列化数据 设计数据模型并将其序列化为您喜欢的任何格式。我更喜欢JSON,因为它轻量级、简单,并且在任何地方都受支持
然后,只需在需要的地方使用数据,例如重新创建树。您不会“序列化UI”,因为。请尝试序列化数据。我将存储可视信息(如矢量图形)。应用程序A将有大量的自定义控件,而应用程序B应该对这些控件一无所知,因此我必须存储视觉信息(而不是0,0按钮->我将存储所有矩形、渐变笔刷和边框)。我要寻找的是一个概念,从控件遍历视觉树。我不会序列化Ui,我会序列化视觉(矩形、圆形、文本、彩色框等)。使用“应用程序a”,我会创建一个设计师,用xaml设计(例如)一个图像/绘图(即使使用一些特殊的自定义控件),然后存储“矢量图像”以固定比率,然后在不知道特殊自定义控件的情况下,在“应用程序B”中显示此项。该技术应类似于xps(仅允许基本类型:多边形、线条、字形),并且自定义控件当前状态的任何可视表示应序列化。当我仅存储数据时,B必须知道这些特殊控件