我尝试为打开另一个窗口的按钮设置click事件,但我在NavigationService
得到的错误是该项目没有包含它的定义。
这就是我目前正在尝试调用该页面的方式:
private void conditioningBtn_Click(object sender, RoutedEventArgs e)
{
this.NavigationService.Navigate(new Uri("TrainingFrm.xaml", UriKind.RelativeOrAbsolute));
}
有人可以指出我正确的方向或显示此窗口导航方法的替代方法吗?
答案 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();
}