我制作的WPF应用程序有一个菜单并且有一个GameBoard。菜单的一个命令关闭菜单并创建一个GameBoard。命令代码:
GameBoardViewModel _viewModel = new GameBoardViewModel();
_viewModel.setupGame(PlayerStartups.Where(p => p.Status != Status.Closed).ToList());
GameBoardWindow _window = new GameBoardWindow();
_viewModel.EndGameEvent += (s, e) =>
{
_window.Close();
};
((StartMenuWindow)param).Close();
_window.DataContext = _viewModel;
_window.setEventHandlers();
_window.Show();
游戏结束后,GameBoard会打开一个新的菜单:
this.EndGameEvent += (s, e) =>
{
StartMenuWindow smw = new StartMenuWindow();
smw.DataContext = new StartMenuViewModel();
smw.Show();
};
我的问题如下:GameBoard第一次显示正常,游戏可玩。但是当我尝试创建另一个游戏时(从上一个游戏中打开的菜单),角色不会被绘制出来。他们的图像来源就像第一次一样,但他们只是不会出现。此外,我可以做任何事情(每个命令运行),只有没有响应。例如,当我调用负责滚动骰子的命令(从而移动字符)时,字符的位置会像应该的那样改变,只会发生任何事情。