我们正在开发使用Xamarin for Android和MvvmCross 4.0.0-beta3的Android应用程序。
我遇到了一个我无法理解的问题。我有一个对话框,托管在MvxDialogFragment
内。我们正在覆盖OnCreateDialog
- 方法并使用AltertDialog.Build
返回Dialog构建。使用通过在对话框中调用this.BindingInflate
创建的视图(从MvxDialogFragment派生的类)将视图设置为对话框。
我们正在膨胀的视图包含MvxListView
,而MvxItemTemplate
包含MvxFrameControl
。运行应用程序时,我得到以下异常:
InnerException was MvxException: The owning Context for a MvxFrameControl must implement LayoutInflater
如果我从项目模板中删除MvxFrameControl
,并包含类似TextView
的内容,则对话框会正确呈现(并显示数据绑定文本)。
我们的应用中还有其他案例,其中MvxFrameControl
来自项目模板,渲染得很好,我们有包含MvxFrameControl
的对话框。似乎只有当结构为MvxDialogFragment -> MvxListView -> MvxItemTemplate -> MvxFrameControl
时才会出现问题。
查看code for the MvxFrameControl,您可以看到如果上下文未实现IMvxLayoutInflaterHolder
,它会抛出我们收到的异常。
因此;我的问题是这样的:当MvxFrameControl
如上所述托管时,最终会成为“拥有的背景”?