2014-01-08 73 views
0

因此,用户将创建一个运行时对象,然后在文本框中输入他们想要的任何信息。然后,当他们点击保存StackPanel时,他们都被缠住了,需要保存到数据库中,当他们再次加载该页面时,所有内容都会出现,并且他们可以编辑文本框中的数据。将XAML存储在数据库中?

有没有人知道互联网上的任何指南作为ive搜索,但不幸的是不成功?

或者有人能告诉我我可以完成任务的方式吗?

+0

也许尝试寻找xaml序列化 – NDJ

+0

@NDJ感谢您的意见,将看看。 – user3157821

回答

0

请按照链接保存布局。但是为了插入数据库,我建议你只保存文件的地址,而不是XAML的内容。

如果您只想保存值,则不需要保存该对象,只需保存布局即可。 http://channel9.msdn.com/Forums/TechOff/WPF-Persisting-window-position-size-theme-and-layout-Saving-to-xml-and-application-settings

+0

因此,每次用户保存一个新的Stackpanel时,都必须创建一个新文件?是不是可以将它作为字符串保存在数据库表中? – user3157821

+0

当我们必须保存文件(文本,图像或任何其他)时,最好的做法是存储地址,这可能会给数据库带来额外的负担。它基本上占用更少的空间,但如果你仍然想将它存储在数据库中,你可以但不是一个好的做法。 –

+0

@ Umar Iqbal但是当它们保存时,它会每次创建一个新文件吗?所以有1000人创建了一个新的视图,会有1000个文件? – user3157821

0

如果我理解正确,您希望将xaml内容存储到数据库中,以便在类似用户界面需要时使用它。

您可以将XAML文件加载为简单文件并读取内容并将其保存到数据库中。您可以在mysql的情况下使用blob字段来存储xaml数据。现在,只要你想使用这个内容来绘制设计,你可以从数据库中读取它。

+0

不适用于'类似用户界面',我希望能够将用户输入的用户信息加载备份,以便他们可以对其进行编辑。我也需要使用SQL。 – user3157821

0

你确定你确实想保存Xaml吗?

听起来你应该有一个你的数据模型,应该保存到数据库。然后,您可以使用数据绑定根据需要创建尽可能多的数字绑定或其他控件。

如果您使用ItemsControl而不是StackPanel,那么您可以显示每个项目的文本框列表。

这里是一个很好的教程:http://www.wpf-tutorial.com/list-controls/itemscontrol/

+0

目前我正在使用Databinding和ItemsControl动态地创建文本框。所以用户将添加文本框并将信息添加到框中,然后我需要将XAML保存到SQL数据库中。只是要求更好的解决方案... – user3157821

+0

但是,为什么你需要保存XAML,当然你只是想保存文本框中的内容?如果您希望将来以某种其他显示格式在网格中显示信息,该怎么办? – Iain

2

首先,我并不试图回答这个问题,而是仅仅提供了一些相关的建议。一般来说,我们不保存UI元素。这些UI元素由属性组成,它的我们保存的那些属性。我不是指所有的财产,而只是重要的财产。例如,如果您有一个带有形状的Canvas,那么您需要保存形状的类型,位置,大小以及颜色。有了这些信息,随时可以很容易地重新创建Canvas

在你的例子中,你需要保存你的数据StackPanel ......它听起来好像这些只是字符串,所以你需要做的就是存储字符串值,如果这是重要的。每次节省整个StackPanel这将是一个令人难以置信的浪费,因为它包含许多与您的要求完全不相关的属性值。

+0

使用Umar Iqbal的方式将其保存到文件中?或进入数据库? – user3157821

+1

当然,这是你的要求,不是吗?无论哪种方式,最终用户几乎没有任何区别。 – Sheridan

+0

感谢您的输入。 – user3157821