我如何在 mvvmcross 中将一个视图用于不同的视图模型?
How can i use one view for different view models in mvvmcross?
我有很多具有不同业务逻辑的屏幕,但它们看起来很相似。我想为 ios(故事板或 xib)和一个 MvxViewController 创建一个屏幕,但有许多不同的(共享)视图模型。
我找不到正确的方法来做到这一点。
实现它的一种方法是拥有一个带有通用参数的基本视图,该参数将成为您的视图模型,并根据需要从该视图继承多个视图,并在每个视图上设置相应的视图模型通用参数。
public abstract class MyBaseViewController<TViewModel> : MvxViewController<TViewModel>
{
// My view init and logic
}
public class MyView1 : MyBaseViewController<MyViewModel1> {}
public class MyView2 : MyBaseViewController<MyViewModel2> {}
以此类推
另一种有点困难的方法是修改您的演示者以在每次显示新的 ViewModel 时创建一个具有不同视图模型的新视图
高
我有很多具有不同业务逻辑的屏幕,但它们看起来很相似。我想为 ios(故事板或 xib)和一个 MvxViewController 创建一个屏幕,但有许多不同的(共享)视图模型。 我找不到正确的方法来做到这一点。
实现它的一种方法是拥有一个带有通用参数的基本视图,该参数将成为您的视图模型,并根据需要从该视图继承多个视图,并在每个视图上设置相应的视图模型通用参数。
public abstract class MyBaseViewController<TViewModel> : MvxViewController<TViewModel>
{
// My view init and logic
}
public class MyView1 : MyBaseViewController<MyViewModel1> {}
public class MyView2 : MyBaseViewController<MyViewModel2> {}
以此类推
另一种有点困难的方法是修改您的演示者以在每次显示新的 ViewModel 时创建一个具有不同视图模型的新视图
高