使用WPF扩展工具包向导。WPF扩展工具包向导验证
我不知道我该怎么去验证所有的控制已在页面上填写,允许用户向前导航
之前,我知道我就能够在我的代码,单击下一步按钮,后面
private void Wizard_Next(object sender, Xceed.Wpf.Toolkit.Core.CancelRoutedEventArgs e)
{
}
我知道我可以基于发件人检测到我在向导上的哪个页面,但是如何获取该向导页面上的控件的句柄?
使用WPF扩展工具包向导。WPF扩展工具包向导验证
我不知道我该怎么去验证所有的控制已在页面上填写,允许用户向前导航
之前,我知道我就能够在我的代码,单击下一步按钮,后面
private void Wizard_Next(object sender, Xceed.Wpf.Toolkit.Core.CancelRoutedEventArgs e)
{
}
我知道我可以基于发件人检测到我在向导上的哪个页面,但是如何获取该向导页面上的控件的句柄?
您可以通过CanSelectNextPage通过XAML 做例如:
<xctk:WizardPage.CanSelectNextPage>
<MultiBinding Converter="{StaticResource NextFromPage1}">
<Binding ElementName ="checkbox1" Path="IsChecked" Mode="OneWay"/>
<Binding ElementName ="checkbox2" Path="IsChecked" Mode="OneWay"/>
<Binding ElementName ="text1" Path="Text" Mode="OneWay"/>
<Binding ElementName ="text2" Path="Text" Mode="OneWay"/>
</MultiBinding>
</xctk:WizardPage.CanSelectNextPage>
任何你可以插入你的代码转换器,它会验证你的控件
它就是这么简单..
e.Cancel = true;
这告诉'向导'取消下一个请求,它将保留在当前页面上。
你还可以做的是跳到任何其他页面。
e.Cancel = true;
Wizard.CurrentPage = PageNo
如果您想结合基于用户选择的各种选项,这很有用。换句话说,您可以绕过线性过程并在页面之间跳转。
您是否找到了解决方案?我也有同样的问题 – 2014-11-17 00:26:10
我最终做的是在我的MainWindowView模型中引用我的ViewModels。由于他们的Wizard在主窗口中,我可以获取它的DataContext(MainWindowVM),然后访问其他View Models来检查它们的控件。并非真正在MVVM方案中,而是让我继续前进 – David 2014-11-19 03:52:16