[英]Change between two xaml pages when button clicked
我正在Visual Studio 2017中创建一个应用程序。我有两个.xaml页面,当单击一个按钮时,我想在两个页面之间进行切换。 到目前为止,我的代码是:
private void bakingButton(object sender, RoutedEventArgs e)
{
CookingMenu cooking = new CookingMenu();
cooking.show();
}
我所在的页面称为BakingMenu.xaml,我要转到CookingMenu.xaml。 但是,这给出了错误消息: The type or namespace name 'CookingMenu' could not be found (are you missing a using directive or an assembly reference?)
我是否需要在代码中的其他位置引用另一个文件,还是我遗漏了其他内容?
您需要包括对CookingMenu
定义位置的引用; 特别是它在其中定义的名称空间。如果在Visual Studio项目的同一文件夹中创建了CookingMenu.xaml
和BakingMenu.xaml
,并且将这些名称空间保留为默认生成的名称空间,则它们将位于同一名称空间中,并且您不需要参考。
但是,如果您在不同的文件夹中创建它们,或编辑了它们的名称空间,则它们在不同的名称空间中,您需要参考。
可以将其想象为您正在使用页面(类)的名字,但是编译器不知道您指的是“ Joe”。 您需要使用其全名。
您可以内联进行此引用(尽管CookingMenu
引用CookingMenu
类型都需要使用它):
NameSpace.CookingMenu cooking = new NameSpace.CookingMenu();
其中的NameSpace
被命名为CookingMenu
的命名NameSpace
所取代(您可以通过打开CookingMenu
的C#文件并查看顶部附近来看到它……它可能包含多个用句点分隔的单词)。 示例名称空间可能看起来像MyApp.Models.Class
。 默认情况下,它环绕您的类定义(因此它是花括号的最外面的集合)。 不要在引用中包括“名称空间”,而只是在该行之后的所有内容。
另外,您可以在文件顶部放置一个名称空间引用,然后不必在每个单独的引用中(在该文件内)都包含名称空间:
using NameSpace;
然后,您可以使用编写的代码。
以下是using
指令的文档: https : //docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/using-directive 。
希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.