c# – 开发向导UI – WPF

所有在 WPF中:

开发一个向导应用程序,用户必须先回答一些简单的问题才能带到主应用程序.然后,主应用程序预先填写从向导获取的信息.

我从一个窗口开始,然后我计划添加用户控件.主窗口将具有第一行中的用户控件,然后是“Next”和“PrevIoUs”按钮来控制第二行中的控件之间的移动.这样,我可以轻松地控制逻辑在如下之间切换:

WizardControl1.IsVisible = false;
WizardControl2.IsVisible = true;

但是由于某些原因,用户控件没有为IsVisible设置setter.欢呼.

所以我以为我只是使用单独的窗口的向导的每一部分.这种方法的问题是,现在当步骤之间,窗口以随机位置打开,然后通过向导进行下一步的下放,下一个窗口随机弹出,这真的令人分心和令人沮丧.

那么如何正确地开发一个向导?我不明白为什么这么难…不完全是火箭科学…替换文本和控件,并按下一个/上一个之后存储输入!

谢谢

解决方法

我可能会使用数据绑定和模板选择器来阻止它.将向导表单绑定到“WizardData”类,该类暴露了“WizardPage”基类的列表.

WizardData类可以公开在窗体上定义正确信息的属性,并显示使用模板选择器的主页面的控件,以根据特定向导页面的实际类型确定要显示的正确控件.

真的,听起来像是更多的工作.它还为您提供了代码和UI之间良好分离的好处(所有“工作”都由WizardData和WizardPage类完成),以及独立于UI测试逻辑的能力.

这也是一个非常WPF / MVVM的方法解决这个问题.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...