【问题标题】:How to serialise control + code in WPF?如何在 WPF 中序列化控件+代码?
【发布时间】:2011-05-03 08:07:56
【问题描述】:

我有一个包含多个用户控件的画布,其中又包含其他对象。 我想序列化画布并保留所有数据绑定和整个可视化树(并非所有对象都可以在 xaml 中描述)。

我认为创建一个扩展画布并添加序列化功能的自定义控件将解决这个问题。

所以问题是:这是一种正确的方法吗?如果没有,最好的方法是什么?

【问题讨论】:

    标签: c# wpf serialization custom-controls


    【解决方案1】:

    我找到了一种解决方法。也就是将不可序列化对象的详细信息放入字典或其他数据结构中并序列化,然后在反序列化对象时将其检索到那里。

    但是这对我来说听起来不太正确:/ 我也曾想过同时使用 XamlWriter 和序列化来序列化控件,但我再次认为这不是最好的方法。

    【讨论】:

      【解决方案2】:

      您应该了解,您的 UI 只是显示演示者状态的一种方式。如果你使用Presentation ModeMVVM ,你可以序列化你的presenter。它会解决你所有的问题

      【讨论】:

      • 您可以将附加的属性、DP 等序列化为不实现 ISerializable 接口的问题。
      • 好吧,在演示者中使用 DP 是一种非常糟糕的做法。在这种情况下,您应该制作一些附加功能来维护应用程序中的多线程(我说的是与 UI 的交互)。仅举一个为什么我不能推荐在演示者中使用 DP 的例子......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 2010-09-05
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多