1

MvvmCrossを使用してMonoTouchでグループ化されたテーブルを使用してビューを実装すると、次のようになります。

http://www.yetanotherchris.me/storage/downloads/UITableViewController.png

現在、このコードがありますが、UITableViewStyleをGroupedに変更できません。

public partial class HomeView : MvxBindingTouchTableViewController<HomeViewModel>
{
    public HomeView(MvxShowViewModelRequest request)
        : base(request)
    {

    }

    public override void ViewDidLoad()
    {
        base.ViewDidLoad();

        NavigationItem.SetRightBarButtonItem(new UIBarButtonItem("History", UIBarButtonItemStyle.Bordered, (sender, e) => ViewModel.DoGoToHistory()), false);

        var source = new MvxActionBasedBindableTableViewSource(
            TableView,
            UITableViewCellStyle.Value1,
            new NSString("HomeView"),
            "{'TitleText':{'Path':'Date'},'DetailText':{'Path':'Location'},'SelectedCommand':{'Path':'ViewDetailCommand'}}",
            UITableViewCellAccessory.DisclosureIndicator);

        this.AddBindings(
            new Dictionary<object, string>()
            {
            { source, "{'ItemsSource':{'Path':'List'}}" },
            { this, "{'Title':{'Path':'TestTitle'}}"}
        });

        TableView.Source = source;
        TableView.ReloadData();
    }
}

誰かがこれを行う方法を知っていますか?

4

2 に答える 2

2

あなたの写真は1つのセクションしか示していません.... 1つのセクションだけを探していると仮定しますが、このグループ化されたスタイリングでは、UITableViewStyle.Groupedを何らかの方法で導入するだけです。

現在の MvxTableViewController がこれを公開しているかどうかはわかりません。そのため、Mvx ソースを編集して適切なコンストラクターを追加する必要があるかもしれません。

    protected MvxTouchTableViewController(MvxShowViewModelRequest request, UITableViewStyle style = UITableViewStyle.Plain)
        : base(style)
    {
        ShowRequest = request;
    }

    protected MvxBindingTouchTableViewController(MvxShowViewModelRequest request, UITableViewStyle style = UITableViewStyle.Plain)
        : base(request, style)
    {
    }

または、tableview 派生ビュー コントローラーの代わりに、基本的なビュー コントローラー (テーブルをサブビューとして追加する) を使用することもできます。


複数のグループが必要な場合は、バインドされた TableViewSource がセクションの数と各セクションのアイテムの数をどのように計算するかを理解する必要があるため、もう少し作業を行う必要があります。

于 2013-01-11T12:04:49.630 に答える
0
    public class UserView : MvxTableViewController<UserViewModel>
    {
        public UserView()
            :base(UITableViewStyle.Grouped)
        {
        }
    }

コンストラクターを公開し、パラメーターなしにすることを忘れないでください。

于 2016-12-11T02:48:15.690 に答える