我是初次使用WPF。我想要创建一个程序,内容如下: - 应用程序打开后有一个按钮 - 用户单击按钮会进入到一个新页面,并显示各种输入框。
我对如何实现这个功能感到困惑。我尝试打开一个新窗口,但我不想打开一个新窗口,我想它都在一个窗口内完成。我还尝试创建一个新页面并使用NavigationService导航到它,但无法使其正常工作。
基本上,我想要创建一个工作流程,在该工作流程中,用户输入一些信息,然后点击下一步按钮,然后进入到一个新页面以输入更多信息。有人能指点我正确的方向吗?
我是初次使用WPF。我想要创建一个程序,内容如下: - 应用程序打开后有一个按钮 - 用户单击按钮会进入到一个新页面,并显示各种输入框。
我对如何实现这个功能感到困惑。我尝试打开一个新窗口,但我不想打开一个新窗口,我想它都在一个窗口内完成。我还尝试创建一个新页面并使用NavigationService导航到它,但无法使其正常工作。
基本上,我想要创建一个工作流程,在该工作流程中,用户输入一些信息,然后点击下一步按钮,然后进入到一个新页面以输入更多信息。有人能指点我正确的方向吗?
在你的应用程序中使用页面并使用 NavigationService 在它们之间切换。
例如,如果你的应用程序中有两个页面,分别为“Page1”和“Page2”,则可以在 Page1.xaml 中包含以下内容:
<Button Content="Next" Click="NextClicked" />
在您的Page1.xaml.cs中加入以下内容:
void NextClicked(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Page2());
}
或者你可以使用这个:
NavigationService.Navigate(new Uri("Page2.xaml", UriKind.Relative));
通常情况下第一种方式更容易实现,因为你也可以设置Page2的属性。例如,如果Page2有一个公共的“CurrentItem”属性,你可以这样说:
NavigationService.Navigate(new Page2 { CurrentItem = this.Something });
使用基于Uri的语法是无法做到那样的。
你也可以创建各种页面(Page1,Page2等)的实例并将它们存储在应用程序对象中,然后像这样切换到它们:
NavigationService.Navigate(App.Page2);
这样做的好处是,如果你以后导航到Page2,你将得到完全相同的Page2对象。 或者你也可以使用NavigationService的日志记录功能来帮助实现这一点。
这样做的好处是,如果您稍后导航到Page2,您将获得完全相同的Page2对象。或者您也可以使用NavigationService的日志记录功能来帮助实现这一点。
您可以将应用程序对象的MainWindow引用更改为另一个Window对象。
Application.Current.MainWindow = new SecondWindowToBeDisplayed();