我需要创建一个实用程序,用户可以在其中创建自己的数据输入屏幕。用户应该能够拖放普通的UI控件(TextBox
,RadioButton
,CheckBox
,ListBox
,ComboBox
和Image
)任何容器并安排它们以满足他们的需要。用户必须能够更改背景值和默认值(适用于TextBox
,ComboBox
等)。应该有一个选项可以将设计的屏幕保存在XML / XAML中,以用于动态UI创建。
非常感谢有关如何处理此方案的任何建议。
答案 0 :(得分:3)
您提出的问题可以通过在运行时提供设计时基础架构的.Net DesignSurface 来完成。我们已经为WindowsForms完成了它,我们可以在运行时设计一个窗口表单,生成设计表单的XML,创建并运行设计表单的实例,所有这些都在运行时。
令人惊讶且不幸的是,互联网上没有足够的资源来使用DesignSurface。我遇到了 this Article on code-Project ,这可以让你真正开始朝着正确的方向前进[这是我在DesignSurface上发现的最好的]。在我们的例子中,我们继承了DesignSurface并实现了我们的visual-studio,就像运行时表单设计应用程序一样,效果很好。
您可以参考我过去here提出的类似问题。
答案 1 :(得分:2)
我也在开展一个类似的项目,我们使用Canvas
作为设计师表面;正如在CodeProject文章中所做的那样 -
WPF图设计师 - 第4部分 http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part4.aspx
可以在codeplex上找到另外一个基于此的项目 -