如何最好地在WPF中创建向导控件。我的tak是;首先我有一个向导控制器UserControl,其中包含两个按钮,即Back和Next,然后我开始使用另外两个UserControls,其中包含用于填写的表单,然后单击下一步到下一个表单等等...我喜欢什么要知道我是如何在转到下一个表单之前插入此usercontrol并验证我当前的对象。我可以使用什么来获取下一个和之前的事件,或者有更好的解决方案吗?
答案 0 :(得分:0)
我还在学习WPF,正在研究WinForm项目atm,很抱歉这里有任何WinForm引用。
向导控件可以包含对向导将显示的每个用户控件的引用。该向导会将所有这些控件添加到自己controls.add(_userControl1)
。每个控件的visible属性都设置为false。
该向导还可以包含一个私有enum
,其中包含控件名称列表,即
private enum CurrentControl
{
_MyControl1,
_MyControl2,
_MyControl3
}
向导控件保持对当前显示的控件CurrentControl _currentControl = CurrentControl._MyControl1;
的引用具有UpdateDisplay()方法,该方法基于_currentControl只会使一个控件可见。
然后当您单击Prev / next按钮时,它会根据当前值更新_currentControl变量,调用UpdateDisplay()来显示该文本控件。
通过这种方式,您可以引用所有用户控件(以及它们包含的数据),因此您可以验证内容,并且向导可以使用向导上的按钮返回和转发它们,向导中的逻辑显示和隐藏控件。
答案 1 :(得分:0)
您可能对 WPF Application Framework (WAF) 的 EmailClient(ViewModel)示例应用感兴趣。它显示了如何使用Model-View-ViewModel模式创建向导,它包含验证逻辑,当用户输入无效时,它会禁用Next按钮。