首页 > 解决方案 > 如何在 WPF 中正确实现窗口之间的切换?

问题描述

我正在创建一个游戏。我有一个游戏菜单。菜单的网格有一个带有视频文件的 StackPanel,用作菜单背景。但我有一个问题。我应该如何切换到“例如设置”窗口?当我这样切换时

var settings = new Settings();
settings.Show();

视频文件已关闭。我想如果我将相同的 stackPanel 放入 SettingsWindow Grid 中,它将从开始播放。Help :(

标签: c#wpf

解决方案


让您开始的一个基本方法是将多个布局分配给网格中的同一列和行,然后当您想要切换正在显示的布局时点击事件时,将 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 布局从长远来看会有更好的性能和更好的控制。在制作游戏时,这可能是一个很好的习惯。

需要注意的是,这两个布局仍然可以更新,但听起来您正处于应用程序的最开始。


推荐阅读