有一些空闲时间,想尝试用 WPF 制作游戏。
我想知道,改变窗口视图的最佳方法是什么?
我制作了一个“主菜单”窗口,带有三个按钮。新游戏、继续游戏和退出游戏。
当按“新游戏”时,我希望窗口转到下一个“视图状态”以创建玩家等,不希望弹出新窗口。实现这一点的最佳方法是什么。
如果你想根据ViewModel动态切换View,那么使用DataTemplates是合适的:
<Window>
<Window.Resources>
<DataTemplate DataType="{x:Type ViewModelA}">
<localControls:ViewAUserControl/>
</DataTemplate>
<DataTemplate DataType="{x:Type ViewModelB}">
<localControls:ViewBUserControl/>
</DataTemplate>
<Window.Resources>
<ContentPresenter Content="{Binding CurrentView}"/>
</Window>
If Window.DataContext
是一个实例ViewModelA
, then ViewA
将显示并且
Window.DataContext
是ViewModelB的一个实例,那么ViewB就会被显示。
我见过和读过的最好的例子是由林瑞秋. 参见示例.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)