我查看了"Down at Android Fragments"和示例,他们在视图中显示了单个片段的使用。在该视图中,您可以找到该片段并设置其“ViewModel
”我们在一些地方这样做,如此
// Expand the patient banner
var myFragment = (MyFragment)SupportFragmentManager.FindFragmentById(Resource.Id.banner);
this.vm = (MyViewModel)this.ViewModel;
myFragment.ViewModel = this.vm;
没关系。我不知道该怎么做是在片段的MvxItemTemplate中使用片段时在片段上设置ViewModel。
例如,将MvxItemTemplate设置为此axml文件的绑定MvxListView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
local:MvxBind="Click ClickCommand">
<fragment
class="MyComp.MyDept.Droid.Views.ItemFragment"
android:id="@+id/ItemFragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
如何为每个ListView项目中的片段设置正确的Item ViewModel?
答案 0 :(得分:0)
最简单的方法是在适配器中执行此操作。当包含项目的列表调用GetBindableView时,您可以访问dataContext和templateId,它首先产生了单元格的创建,因此您可以在将片段直接从用简单的FindFragmentById查看。
所以,大概这样的事情对你来说应该没问题:
$("#coms").click(function(){
$(".dontprint").toggle();
});
首先,获取片段所在的视图。其次,获取片段管理器并在其上执行FindFragmentById以在视图中查找特定片段。最后,设置DataContext并将其返回。