在 WPF 中从一个 xaml 导航到另一个 xaml

2024-01-16

尽管我对 WPF 完全陌生,但我需要编写一段代码,在其中单击按钮后,应用程序应该打开另一个 xaml。在网上搜索后,我按照以下方式进行了操作:

1.我创建了两个xaml文件,即“Window1.xaml”和“Window2.xaml”。

2.在我的“App.xaml”文件中,我让:

<Application x:Class="DiagramDesigner.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        
    StartupUri="Window1.xaml">

3.然后在我的“Window1.xaml”中,我创建了一个按钮:

<Button Name="Button" Click="Button_Click_1" MouseEnter="Button_MouseEnter_1" IsDefault="True"
        HorizontalAlignment="Center" VerticalAlignment="Center">
    Start
</Button>

4.在我的“Windwo1.xaml.cs”文件中,我创建了这两个函数:

    private void Button_Click_1(object sender, RoutedEventArgs e)
    { 
    }

    private void Button_MouseEnter_1(object sender, MouseEventArgs e)
    {
    }

5.然后,为了在单击按钮后打开“Window2.xaml”,我更改为:

    private void Button_Click_1(object sender, RoutedEventArgs e)
    { 
        NavigationService service = NavigationService.GetNavigationService(this);
        service.Navigate(new Uri("Window2.xaml", UriKind.RelativeOrAbsolute));
    }

但这给了我错误,说service为空,程序崩溃了。我没有想出任何方法来解决这个问题。有什么建议么?谢谢。


尝试这个:

private void Button_Click_1(object sender, RoutedEventArgs e)
{ 
    var window = new Window2();
    window.ShowDialog();
}

您还应该阅读有关的文档NavigationService类及其方法,以避免进一步混淆该类的用途。这是一个很好的起点:http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.getnavigationservice%28v=vs.110%29.aspx http://msdn.microsoft.com/en-us/library/system.windows.navigation.navigationservice.getnavigationservice%28v=vs.110%29.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WPF 中从一个 xaml 导航到另一个 xaml 的相关文章

随机推荐

  • ggplot 使用小饼图作为点与 geom_point

    我想用 ggplot 制作一个图表 如下所示 这个想法是绘制两个分类变量之间的 百分比匹配 通过改变点的大小很容易接近 但我想知道是否可以制作这些小饼图 用于绘制此图的示例代码 并使用点的大小作为分数的度量 temp lt data fra
  • 如何跟踪 Git 中共享公共代码的多个项目?

    我开发了一个网站 现在必须为几个客户克隆该网站 每个客户都希望进行超出视觉方面的定制 并且不能通过配置文件 偏好或类似的东西来处理 在这种情况下 我想在 Git 中使用公共代码维护一个主存储库 然后为每个客户端维护一个分支 这样 我可以在每
  • 如何使用 PHP Curl 模拟启用 JavaScript?

    我想使用 PHP Curl 解析网页中的 HTML 代码 但有一条错误消息 表明我无法在没有 JavaScript 的情况下访问该网站 我可以使用 PHP Curl 启用 JavaScript 吗 JavaScript由浏览器执行 cURL
  • 未捕获的类型错误:_this2.props.selectBook 不是函数

    我是 ReactJS 的新手 正在学习 udemy 上的 React 基础课程 我的控制台日志上出现以下错误 有人可以帮助我吗 bundle js 21818 Uncaught TypeError this2 props selectBoo
  • 如何在启动时启用“填充列指示器”

    我在 OS X 10 9 4 上使用 Aquamacs 我的中有以下几行Preferences el文件 这类似于 emacs初始化文件 add to list load path emacs d require fill column i
  • 禁用上下文 LOB 创建,因为 createClob() 方法引发错误

    我正在使用 Hibernate 3 5 6 和 Oracle 10g 我在初始化期间看到以下异常 但应用程序本身工作正常 出现这个异常的原因是什么 以及如何纠正 例外禁用上下文 LOB 创建createClob 方法抛出错误 java la
  • Sparksql.sql.codegen 没有提供任何改进

    我正在 Spark sql 中执行查询 如下所示 表的数据存储在 Hive 表的 2 个不同节点中 但由于查询有点慢 我尝试在 Spark 中找到一些选项 以便查询可以执行得更快 所以我发现我们可以配置sparksql sql codege
  • JFrame尺寸太小

    我在netbeans中创建了一个JFrame 但是当我运行该程序时 Jframe 尺寸太小 这是我的代码 import javax swing JFrame public class Window private static void d
  • 如何计算 OLAP 多维数据集的可能大小

    有谁知道一种用于获取基于星型模式数据仓库的 OLAP 多维数据集的粗略大小的方法 基于维度的数量 维度表中的记录数量和事实记录的数量 最后是聚合或不同记录的数量等 我正在查看的数据库有一个超过 200 亿行的事实表和一些包含 2000 万
  • 在VBA中使用VLookup引用另一个Excel文件

    我正在尝试在 VBA 中编写一个引用另一个文件的 VLookup 表 这是我的目标的简单概述 在另一个 Excel 文件中查找单元格 A2 中的值 从另一个 Excel 文件的第 2 列中提取信息并将其放入单元格 B2 中 移至单元格 A3
  • 将 ActiveMQ Artemis 7.4 与 Weblogic 12.x 桥接时出现“无效代理 URL”错误

    我正在尝试在 Oracle 12 x 和 Redhat ActiveMQ Artemis 7 4 之间创建桥梁 这是建立桥的过程 将 artemis jms client all 2 9 0 redhat 00005 jar 设置为 WL
  • 为什么我在 Rails 中使用“net/http”时会收到“Errno::ECONNREFUSED”?

    我正在尝试从 URL 解析 XML 文件 当我尝试这样的事情时 require net http require rubygems require xmlsimple url http my address com xmltest note
  • ASP.NET MVC 使用相同的控制器分离移动视图

    我正在开发一个使用 ASP NET MVC 3 w Razor 的新项目 并开发同一网站的 2 个不同视图 完整版本和移动版本 使用相同控制器但根据用户代理显示不同视图的最佳实践 方法是什么 我应该在控制器中处理这个问题吗 在每个控制器操作
  • 无法更改 Material-UI OutlinedInput 的边框颜色

    我正在尝试更改 v4 13 的边框颜色Material UI 概述输入 https material ui com api outlined input outlinedinput api 然而 当我尝试覆盖 CSS 时 我没有得到任何东西
  • 我可以知道用户何时删除我的应用程序吗?

    我想知道是否可以通过事件或某种方式知道用户何时删除我的应用程序 以便我可以将他从我的数据库中删除 是否可以 第一的 仅仅因为用户在一台设备上删除了该应用程序 并不意味着他们没有在其他设备上安装该应用程序 或者不会在其他设备上安装该应用程序
  • Microsoft graph 无法读取 JSON 请求负载

    我正在尝试在 php 中使用 microsoft graph 创建订阅 但是我目前无法看到出了什么问题 该代码在以下位置被破坏 protected http subscribe https graph microsoft com v1 0
  • Marshal.SizeOf 和 sizeof 之间的区别,我只是不明白

    到目前为止 我一直认为 Marshal SizeOf 是计算非托管堆上 blittable 结构的内存大小的正确方法 这似乎是 SO 以及网络上几乎所有其他地方的共识 但在阅读了一些针对 Marshal SizeOf 的警告之后 本文 ht
  • 如何使用 g++ 生成确定性二进制输出?

    我在一个非常受监管的环境中工作 我们需要能够生成相同的二进制输入 每次构建产品时都给出相同的源代码 我们目前使用的是旧版本的 g 该版本已被修补 不会在生成的二进制文件中写入日期 时间之类的内容 这些内容会因构建而异 但我想更新到 g 4
  • Visual Studio 安装项目忽略快捷方式参数中的变量

    我正在寻找安装项目中卸载的替代方案 在阅读时this https stackoverflow com questions 1356160 in a visual studio setup project how do i generate
  • 在 WPF 中从一个 xaml 导航到另一个 xaml

    尽管我对 WPF 完全陌生 但我需要编写一段代码 在其中单击按钮后 应用程序应该打开另一个 xaml 在网上搜索后 我按照以下方式进行了操作 1 我创建了两个xaml文件 即 Window1 xaml 和 Window2 xaml 2 在我