WPF中的自定义向导控件添加和删除UserControls?

时间:2011-02-24 14:27:46

标签: wpf events mvvm controls wizard

如何最好地在WPF中创建向导控件。我的tak是;首先我有一个向导控制器UserControl,其中包含两个按钮,即Back和Next,然后我开始使用另外两个UserControls,其中包含用于填写的表单,然后单击下一步到下一个表单等等...我喜欢什么要知道我是如何在转到下一个表单之前插入此usercontrol并验证我当前的对象。我可以使用什么来获取下一个和之前的事件,或者有更好的解决方案吗?

2 个答案:

答案 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按钮。