如何创建自定义导航函数 MvvmCross
How to create a custom Navigate function MvvmCross
您好,我正在尝试使用 INavigationService
创建自定义导航功能。我可能跑题了,但这是我 BaseViewModel
中的内容:
public async Task Navigate<T>(object type)
{
if (canNavigate)
{
canNavigate = false;
if (type is T)
{
await _navigationService.Navigate<type>();
}
canNavigate = true;
}
}
此代码不起作用,但基本上我试图将我的 ViewModel class 作为参数传递,因此我可以这样调用它:_navigationService.Navigate<VM type here>
。
这可能吗?提前致谢!
您似乎正在尝试实施 API 中已有的内容:Task<bool> Navigate<TViewModel>(...) where TViewModel : IMvxViewModel;
。
为确保传递的对象类型正确,只需使用T类型传递即可:
public async Task Navigate<T>(T object) where T : <yourTypeHere>
另一个问题是,如果你已经需要输入 T,为什么还需要在里面反对。
您好,我正在尝试使用 INavigationService
创建自定义导航功能。我可能跑题了,但这是我 BaseViewModel
中的内容:
public async Task Navigate<T>(object type)
{
if (canNavigate)
{
canNavigate = false;
if (type is T)
{
await _navigationService.Navigate<type>();
}
canNavigate = true;
}
}
此代码不起作用,但基本上我试图将我的 ViewModel class 作为参数传递,因此我可以这样调用它:_navigationService.Navigate<VM type here>
。
这可能吗?提前致谢!
您似乎正在尝试实施 API 中已有的内容:Task<bool> Navigate<TViewModel>(...) where TViewModel : IMvxViewModel;
。
为确保传递的对象类型正确,只需使用T类型传递即可:
public async Task Navigate<T>(T object) where T : <yourTypeHere>
另一个问题是,如果你已经需要输入 T,为什么还需要在里面反对。