0

我对 MvvmCross Dialog 构建器代码的功能感到困惑。

我有一个继承自 BaseSettingsView 的 SettingsView。

以下代码在 iOS 上显示了一个包含单个部分的对话框。单击该部分时,将生成另一个面板,该面板在 RootElement 中具有该部分:

Root = new RootElement("Settings")
{
    new Section()
    {
        (Element) new RootElement("Location Settings")
                                  {
                                      new Section("Details")
                                          {
                                              new EntryElement("Name", "Location Name"),
                                          },
                                  },
                           }
                   };

但是,在 Android 上,使用具有完全相同代码的 SettingsView,当单击该部分时,不会出现其他面板或视图。我想知道是否可以在 Android 上拥有这种“嵌套视图”,或者我是否应该为此条目创建一个单击处理程序,它将通过导航到另一个 ViewModel 显示一个全新的对话框。

有趣的是,以下代码将生成一个元素,单击该元素将创建一个全新的对话框,其中包含嵌套 RootElement 中的条目。但是,据我所知,这似乎只适用于 RadioGroups?

Root = new RootElement("Settings")
        {
            new Section()
                {
            (Element) new RootElement("Status", new RadioGroup(0))
                            {
                                new Section("Status")
                                    {
                                        new RadioElement("On"),
                                        new RadioElement("Off"),
                                    },
                            },
                },

我查看了 Mvx Dialog 示例并查看了 N+1,但找不到任何关于在 Android 上使用 MvvmCross 自动导航到嵌套 RootElements 是否可行或可取的任何指导。

谢谢,

马修

4

1 回答 1

1

我相信这是继承的 MonoDroid.Dialog - 来自https://github.com/kevinmcmahon/MonoDroid.Dialog/tree/lastsnapshot

有趣的是,以下代码将生成一个元素,单击该元素将创建一个全新的对话框,其中包含嵌套 RootElement 中的条目。但是,据我所知,这似乎只适用于 RadioGroups?

我认为这是不正确的 - 我认为 RadioGroups 显示 Android popupDialog以启用选择 - 请参阅https://github.com/slodge/MvvmCross/blob/v3/CrossUI/CrossUI.Droid/Dialog/Elements/RootElement上的实现.cs#L327

https://github.com/slodge/MvvmCross/issues/392中也有该领域最近的代码贡献- 但我还没有亲自看过这个。

于 2013-09-03T20:01:23.457 回答