是否可以将对象X
绑定到include标记,以便包含的布局中的绑定上下文为X
?我想多次使用布局,但不在列表中。
MainLayout.xml
...
<include
android:id="@+id/btnDealerMap"
android:layout_width="64dp"
android:layout_height="64dp"
android:visibility="gone"
layout="@layout/ServiceBarButtonPhone"
local:MvxBind="??? X" />
...
ServiceBarButtonPhone.xml
Title
和Text
是X
的属性。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res/..."
android:layout_width="96dp"
android:layout_height="96dp">
<TextView
...
android:id="@+id/txtTitle"
local:MvxBind="Text Title" />
<TextView
...
android:id="@+id/txtText"
local:MvxBind="Text Text" />
</RelativeLayout>
答案 0 :(得分:4)
在include
的外部没有任何东西可以绑定 - 但你可以在文件内部放置普通绑定 - 然后它就会在编译时包含在内。请参阅以下示例:https://github.com/MvvmCross/MvvmCross-Tutorials/blob/master/ApiExamples/ApiExamples.Droid/Resources/Layout/Test_If.axml
如果您希望内部“布局”包含自己的DataContext
,请尝试MvxView
- 有关示例MvxFrameControl
- 在N = 26的部分内容中使用 - 请参阅https://github.com/MvvmCross/NPlus1DaysOfMvvmCross/blob/b405eef7dddf4d65b00116e142855653eae9f06b/N-26-Fraggle/Rock.Droid/Resources/Layout/FirstView.axml