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 ポップアップを表示して選択を有効にしていると思う - https://github.com/slodge/MvvmCross/blob/v3/CrossUI/CrossUI.Droid/Dialog/Elements/RootElementDialogの実装を参照.cs#L327

https://github.com/slodge/MvvmCross/issues/392にも、この分野の最近のコードの寄稿がありますが、個人的にはまだ見ていません。

于 2013-09-03T20:01:23.457 に答える