如何在WPF中的窗口之间导航?

时间:2014-02-11 15:37:49

标签: c# wpf click

我尝试为打开另一个窗口的按钮设置click事件,但我在NavigationService得到的错误是该项目没有包含它的定义。

这就是我目前正在尝试调用该页面的方式:

private void conditioningBtn_Click(object sender, RoutedEventArgs e)
{
    this.NavigationService.Navigate(new Uri("TrainingFrm.xaml", UriKind.RelativeOrAbsolute));
}

有人可以指出我正确的方向或显示此窗口导航方法的替代方法吗?

3 个答案:

答案 0 :(得分:12)

NavigationService用于WPF中的浏览器导航。您要做的是更改为其他窗口TrainingFrm

要转到其他窗口,您应该这样做:

private void conditioningBtn_Click(object sender, RoutedEventArgs e)
{
    var newForm = new TrainingFrm(); //create your new form.
    newForm.Show(); //show the new form.
    this.Close(); //only if you want to close the current form.
}

另一方面,如果您希望WPF应用程序的行为类似于浏览器,那么您需要创建Page而不是表单,然后在应用程序中使用Frame做导航。请参阅this example

答案 1 :(得分:3)

为了使用NavigationService,你应该使用Page而不是Window类

答案 2 :(得分:3)

如果您想从窗口导航到窗口:

#!/bin/bash
clear
read -p "Enter 1st value:" num1
read -p "Enter 2nd value:" num2

if (($num1 && $num2))
then
echo "AND gate: 1"
else
echo "AND gate: 0"
fi

if (($num1 || $num2))
then
echo "OR gate: 1"
else
echo "OR gate: 0"
fi

if ((!$num1))
then
echo "NOT gate: 1"
else
echo "NOT gate: 0"
fi

exit 0

如果您想从Window导航到Page:

private void conditioningBtn_Click(object sender, RoutedEventArgs e)
{
    Window1 window1 = new Window1();
    // window1.Show(); // Win10 tablet in tablet mode, use this, when sub Window is closed, the main window will be covered by the Start menu.
    window.ShowDialog();
    }