【发布时间】:2017-11-03 08:12:01
【问题描述】:
我们正在创建一个项目,其中有一个 WPF 应用程序页面,它将从三个中选择一个保存游戏,然后导航到下一页。我们想知道如何将我们从第一页加载的 GameInstance 传递到第二页。
我们已经在后台代码中实现了这一点,但我们不喜欢在后台代码中包含逻辑,因为我们使用的是 MVVM 架构。
保存窗口的代码
public SaveGameWindow()
{
InitializeComponent();
}
private void LoadGame1_Click(object sender, RoutedEventArgs e)
{
var comb = new SaveGameViewModel();
comb.LoadGame1();
this.NavigationService.Navigate(comb.TempCombatWindow);
}
private void LoadGame2_Click(object sender, RoutedEventArgs e)
{
var comb = new SaveGameViewModel();
comb.LoadGame2();
this.NavigationService.Navigate(comb.TempCombatWindow);
}
private void LoadGame3_Click(object sender, RoutedEventArgs e)
{
var comb = new SaveGameViewModel();
comb.LoadGame3();
this.NavigationService.Navigate(comb.TempCombatWindow);
}
我们想知道的是如何实现与上面相同的东西,但在我们的 ViewModel 中用于保存游戏。
问题是,当我们更改页面时,我们使用 NavigationService,但这在 ViewModel 中不可用,而且我们还没有找到将此属性绑定到所述 ViewModel 的方法,因此我们可以使用某种委托。
我希望这个问题不会让人困惑。
【问题讨论】:
标签: c# .net wpf mvvm navigationservice