繁体   English   中英

单击按钮时在两个XAML页面之间切换

[英]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.xamlBakingMenu.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM