c# - 如何在 WPF 中正确实现窗口之间的切换?
问题描述
我正在创建一个游戏。我有一个游戏菜单。菜单的网格有一个带有视频文件的 StackPanel,用作菜单背景。但我有一个问题。我应该如何切换到“例如设置”窗口?当我这样切换时
var settings = new Settings();
settings.Show();
视频文件已关闭。我想如果我将相同的 stackPanel 放入 SettingsWindow Grid 中,它将从开始播放。Help :(
解决方案
让您开始的一个基本方法是将多个布局分配给网格中的同一列和行,然后当您想要切换正在显示的布局时点击事件时,将 layout.Visibility 设置为 Collapsed 或 Visible 适当(https://docs.microsoft.com/en-us/dotnet/api/system.windows.visibility?redirectedfrom=MSDN&view=netframework-4.7.2)
从您的示例中,您需要设置 SettingsStackPanel.Visibility=Collapsed 后跟 GameLayout.Visibility=Visibile。
我还建议不要将 StackPanel 用于大小不变的东西。Grid 布局从长远来看会有更好的性能和更好的控制。在制作游戏时,这可能是一个很好的习惯。
需要注意的是,这两个布局仍然可以更新,但听起来您正处于应用程序的最开始。
推荐阅读
- cpu-architecture - 程序计数器如何不受多个时钟周期的影响
- mysql - SQL查询以获取相关ID位于数组中的表中的所有不同单词
- mysql - 创建连接多个表的视图
- javascript - 在带有按钮的vue中跟随链接
- xml - 使用 xsl:param 在 xsl:template 中选择属性
- sql - Oracle 12c 修改子表中的记录,包括插入、更新、删除
- javascript - 数字加逗号后进行计算
- hive - 从 hive 中的文本列中提取子字符串
- python - 如果不使用函数或 while 循环,如何停止脚本?
- tableau-api - 除了常规的、连续的和发散的调色板之外,Preferences.tps 文件中还可以做什么?