【问题标题】:Binding with Dialog Widgets与对话框小部件绑定
【发布时间】:2014-06-04 18:34:16
【问题描述】:

如何将对话框小部件与类绑定?有问题的类在 Core 项目中定义。

到目前为止,我找不到任何这样的例子。我很乐意将 axml 绑定到 VM。

编辑

看来这个教程 https://github.com/MvvmCross/MvvmCross-Tutorials/tree/master/Fragments 应该让我开始。

但是,我不确定单击列表项时如何显示对话框。上面的示例将按钮单击事件映射到视图中的方法,后者显示对话框。

我的列表项没有与之关联的视图。虽然它有一个视图模型。单击列表项时如何显示对话框???

另外,https://github.com/MvvmCross/MvvmCross-Tutorials/blob/master/Fragments/FragmentSample.UI.Droid/Views/HomeView.cs 中的 sn-p 的合理性是什么

var existingDialog = (NameDialogFragment)SupportFragmentManager.FindFragmentByTag(NameDialogTagName); if (existingDialog != null) existingDialog.ViewModel = HomeViewModel.Names;

【问题讨论】:

    标签: mvvmcross


    【解决方案1】:

    如何将对话框小部件与类绑定?

    正如您已经发现的那样,您可以使用:

            var dialog = new NameDialogFragment();
            dialog.ViewModel = HomeViewModel.Names;
            dialog.Show(SupportFragmentManager, NameDialogTagName); 
    

    我的列表项没有与之关联的视图。虽然它有一个视图模型。单击列表项时如何显示对话框???

    一般来说,我使用 Interaction 模式 - 请参阅 UI action in middle of MvxCommand 以获取工作示例

    sn-p的合理性是什么

    这可能是为了帮助解决 Android 轮换问题。

    一般来说,我不会做太多 - 我通常只是关闭 Android 的自动旋转处理并自己处理旋转。

    【讨论】:

    • 关于第二项(交互模式),我最终使用 IMvxMessenger 通知视图,然后让视图处理对话框的显示。我不知道 IMvxInteraction,将检查一下。对首选哪种方法有何评论?
    • 我查看了示例代码。我无法让它运行。无论如何,就我而言,我需要在我的对话框中显示一个片段。示例代码不适合这种情况。想知道如何将片段充气到对话框中?
    猜你喜欢
    • 2023-02-08
    • 2021-03-26
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多