Silverlight 中的 MVVM 和导航



假设我正在使用MVVM方法(Silverlight)

我正在用命令处理我所有的按钮。

假设

我有一个用于导航到某个页面的按钮,假设我们在网格中选择了客户,并希望导航到客户的详细信息视图。

我可以使用委托命令处理此按钮吗?如何?我可以处理视图模型的导航吗?我是否被迫从代码隐藏处理导航。

我们来了:

Xaml:

<Button Command="{Binding GoToCustomerDetailsPage}" Content="Customer Details"/>

视图模型:

private INavigationService _navigationService;
public ViewModel(INavigationService navigationService)
{
    _navigationService=navigationService;
}
public ICommand GoToCustomerDetailsPage
{
    get{
        return new DelegateCommand(GoToCustDetailsPage,CanGoToCustDetailsPage);
        }
}
private void GoToCustDetailsPage()
{
    _navigationService.Navigate(new Uri("/CustomerDetails", UriKind.Relative));
}
private bool CanGoToCustDetailspage()
{
   return true;//Or some sensible code that determines if this is sensible.
}

基本上,命令正常绑定到按钮。 该命令是视图模型上的属性。 当命令被执行时,它只是在视图模型中调用一个私有方法。

这里 inavigationService 不可用..如果我们添加命名空间System.Windows.Navigation.,它会给出错误。

相关内容

  • 没有找到相关文章

最新更新