我想用3页创建简单的向导
我已经创建了页面并添加了所需的按钮,并且在我调用下一页的事件中,例如在按钮单击的第一页中我添加了以下代码
private void Button_Click(object sender, RoutedEventArgs e)
{
p2 = new Page2();
NavigationService.Navigate(p2);
}
在主窗口cs中,我已将继承更改为NavigationWindow
而不是Window
,而在xaml中也是如此。目前它的工作,但我有3个问题。
谢谢!
答案 0 :(得分:2)
反向回答你的任务,
3。如何避开页面右上角的导航箭头?
我有一个开源库http://winchrome.codeplex.com/,可以通过多种方式重新设置导航窗口的样式。例如,这些都是NavigationWindow
s
简而言之,您只需将NavigationWindow
设置为仅显示所需的部分。
2.当前在Grid中的按钮,我应该把它们放在不同的控件中(按钮位置应该像页面左边的任何向导一样)?
如果您查看WinChrome中的样式,那么您会看到只是根据需要重新构建UI并提供ContentPresenter
来保存您的页面。例如VS2012 style在窗口上应用了很多样式,但避免添加后退和前进按钮。而Win7 style在Win7样式中重建后退和前进。
如果您这样做,则需要一种方法将启用或可见状态传递到页面外的按钮。有关如何在Winforms中执行此操作,请查看http://www.codeproject.com/Articles/8197/Designer-centric-Wizard-control。在WPF中,您可以从Page
派生WizardPage
来创建包含CanBack
,CanNext
或IsFinish
属性的{{1}}类,或者可以更改地定义附加属性来执行相同(在我们定义发光颜色的VS2012.cs中有如何执行此操作的示例)
最后
1。显示的页面是主窗口的一部分,我怎么能避免它,因为当我运行它时按钮位置不像我放入设计器?它被改变了。
我需要看一些代码来评论你是如何做到的,但如果你看一下WinChrome中的任何一个演示程序,那么你可以看到我是如何完成它而没有问题的。
祝你好运!