因此,用户将在运行时创建对象,然后在“文本”框中键入所需的任何信息。然后,当他们点击保存Stackpanel时,他们都被包裹起来需要保存到数据库中,当他们再次加载该页面时,所有内容都会出现,他们可以编辑文本框内的数据。
有没有人知道互联网上的任何指南,因为我搜索过,很遗憾没有成功?
或者有人可以告诉我完成任务的方式吗?
答案 0 :(得分:2)
首先,我不是试图回答这个问题,而只是提供一些相关的建议。通常,我们不保存UI元素。这些UI元素由属性组成,它是我们保存的那些属性。我不是指所有的属性,而只是重要的属性。
例如,如果你有一个带有形状的Canvas
,那么你需要保存形状类型,位置,大小和颜色。有了这些信息,您可以随时轻松地重新创建Canvas
。
在您的示例中,您需要保存StackPanel
中的数据...听起来好像这些只是字符串,所以您需要做的就是存储字符串值,也可以保存它们的顺序这很重要。每次保存整个StackPanel
将会浪费大量资源,因为它包含许多与您的要求完全无关的属性值。
答案 1 :(得分:0)
请点击链接保存布局。但是对于在数据库中的插入,我建议你只保存文件的地址,而不是XAML内容。
如果您只想保存值,则无需保存对象,只需保存布局即可。
答案 2 :(得分:0)
如果我理解正确,您希望将xaml内容存储到数据库中,以便在需要类似UI时使用后者。
您可以将XAML文件作为简单文件加载并读取内容并将其保存到数据库中。在mysql的情况下,您可以使用blob字段来存储xaml数据。现在,只要您想使用此内容绘制设计,您就可以从数据库中读取它。
答案 3 :(得分:0)
你确定你真的想保存Xaml吗?
听起来你应该有一个数据模型,应该保存到数据库中。然后,您可以使用数据绑定来根据需要创建尽可能多的TextBox
es或其他控件。
如果您使用ItemsControl
代替StackPanel
,则可以显示每个项目的列表,并为每个项目添加文本框。
这是一个很好的教程:http://www.wpf-tutorial.com/list-controls/itemscontrol/