【发布时间】:2021-05-15 22:08:31
【问题描述】:
如何创建 2 pass 视图?在谷歌上没有找到类似的东西
我有一个 onePage.xaml.cs,它正在调用 OneViewModel。在 oneViewModel 中,它会刷新页面,它应该调用 twoViewModel。最后 twoViewModel 会调用一些随机视图
如何编辑 view.xaml.cs 文件来处理 2 个不同的 ViewsModel?第一遍应该绑定到 oneViewModel,第二遍应该绑定到 twoViewModel
onePage.xaml(视图)
<Label Text={Binding TestLabel} />
onePage.xaml.cs(视图)
public onePage()
{
InitializeComponent();
BindingContext = new oneViewModel();
}
oneViewModel.cs(视图模型 1)
async oneViewModel()
{
TestLabel = "View Mode 1"
await Shell.Current.GoToAsync(Shell.Current.CurrentState);
}
twoViewModel.cs(视图模型 2)
async twoViewModel()
{
TestLabel = "View Mode 2"
await Shell.Current.GoToAsync(RandomPage);
}
【问题讨论】:
-
这绝对是零意义。但是如果你想改变一个页面绑定的VM,只需重新分配
BindingContext -
已经试过了,没用。如果我将 BindingContext 重新分配给第二个视图模型,则它不会识别 TestLabel 或任何视图对象。你有可以举出更多例子的例子吗?随时发布答案
标签: c# xamarin xamarin.forms xamarin.android xamarin.ios