【问题标题】:WPF get xaml of controls created at runtimeWPF 获取在运行时创建的控件的 xaml
【发布时间】:2016-04-18 13:42:51
【问题描述】:

与 Visual Studio 或任何其他 IDE 一样,必须保存和检索标签页中动态创建的控件是一项任务。我尝试了将在列表中动态创建控件的 mycontrolsclass 转换为 json 的方法,该 json 将保存到数据库并检索回来。当整个 mycontrolsclass 已序列化为 json 时,会发生 stackoverflow 错误。所以想到有一个xaml内容到数据库。一些教程有助于获取 wpf 窗口物理文件的 xaml 内容,但不知道从具有动态创建控件的窗口中获取 xaml 内容。

也尝试循环通过 LogicalTreeHelper 类,但我无法获得确切的 xaml。我的方法是否正确,或者我怎样才能为动态创建的控件获取 xaml?

【问题讨论】:

  • Here 是类似的东西。您也可以分别搜索“xaml load runtime”和“xaml save runtime”(应该会引导您找到相关问题)。

标签: c# json wpf xaml


【解决方案1】:

我猜XamlWriter.Save() 就是你要找的东西。

【讨论】:

  • 很好的帮助,但是 xaml 序列化错误发生如下,我无法克服。 PresentationFramework.dll 中出现“System.InvalidOperationException”类型的未处理异常附加信息:无法序列化非公共类型“FormsSuite.CustomControl.CustomTabItem”。
  • @ArulManivannan 将FormsSuite.CustomControl.CustomTabItem 公开,应该可以。
  • 工作就像一个魅力,犹豫是否将这个错误放在前面的评论中。现在你的评论也帮助我节省了一些时间。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多