【发布时间】:2014-01-24 23:42:41
【问题描述】:
我正在开发一个 WPF 应用程序,我必须在其中向最终用户提供一个画布。画布应该有一个工具箱,其中包含基本形状,如矩形、正方形等,他可以将其拖放到画布上。用户完成后,他会点击保存按钮。
现在应该将画布保存到数据库中,并且当用户下次去检索它时,他应该使画布处于他上次离开时的相同状态,以便他可以继续编辑。 画布代表一个楼层,其中有多个部分,每个部分都由一个基本形状表示。
我们将不胜感激。
【问题讨论】:
-
你有没有想过序列化到数据库?
-
是的,序列化到数据库将是最后一步。 XAML 文件必须进行序列化和反序列化,但我卡住的地方是我采用什么方法来构建画布和工具箱。用户如何在表面上拖放以及如何在编辑后保存文件,然后再次加载它以进行编辑。
-
这里的关键是MVVM。保留模型,而不是视图。
-
@Rachit,该数据库旨在处理您画布的抽象。创建一个 DTO,其中包含从头开始重新创建画布所需的所有值。如果你检查你的画布和工具等,你会发现它们都可以抽象成简单的字符串和数字。阅读 Sheridan 的答案以获取更多信息。
标签: c# sql-server wpf canvas