如何在已经存在的xamarin应用程序中实现splitview?

时间:2019-07-02 08:34:29

标签: xamarin xamarin.forms

我有一个Xamarin应用程序,在开发时,我们只专注于iPhone的外观。现在,我们要在我们的应用程序中为某些页面实现SplitView。

我已按照以下链接中给出的步骤进行操作:

https://devblogs.microsoft.com/xamarin/bringing-xamarin-forms-apps-to-tablets/

但是它给出了运行时错误:

  

System.InvalidOperationException:必须在Master上设置Title属性   页面

我已经按照searchTabletpage.cs文件中的链接设置了标题。

public SearchTabletPage()
        {
            Title = "Details";
            this.MasterBehavior = MasterBehavior.Default;

            Master = new SearchPage(true);
            Detail = new ContentPage()
            {
                Content = new StackLayout
                {
                    VerticalOptions = LayoutOptions.Center,
                    HorizontalOptions = LayoutOptions.Center,

                    Children = {
                        new Label { Text = "Select a Record", FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)) }
                    }

                }

            };

            ((SearchPage)Master).ItemSelected = (searchDetail) =>
            {

                BusinessDetailPage businessDetail = new BusinessDetailPage(searchDetail.InfogroupId,searchDetail.Distance,searchDetail.FullAddress,searchDetail.Phone);
                Detail = businessDetail;
                if (Device.RuntimePlatform != Device.UWP)
                {
                    IsPresented = false;
                }
            };

            IsPresented = true;
        }
    }

请帮助我。 预先感谢。

2 个答案:

答案 0 :(得分:0)

如错误所述,您需要设置母版页面的标题。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.repeater/1.2.1/jquery.repeater.min.js"></script>

<div id="left_repeater">
  <div data-repeater-list="left_items">
    <div data-repeater-item>
      <div class="row">
        <div class="col-6">
          <input type="text" name="name" class="form-control form-control-sm m-input" placeholder="left">
        </div>
        <div class="col-6">

        </div>
      </div>

    </div>
  </div>
  <!-- <div data-repeater-create="" class="btn btn-sm btn-success">
	        <span><i class="la la-plus"></i><span>Add</span></span>
	    </div> -->
</div>

<div id="right_repeater">
  <div data-repeater-list="right_items">
    <div data-repeater-item>
      <div class="row">
        <div class="col-6">

        </div>
        <div class="col-6">
          <input type="text" name="name" class="form-control form-control-sm m-input" placeholder="right">
        </div>
      </div>

    </div>
  </div>
  <div data-repeater-create="" class="btn btn-sm btn-success">
    <span><i class="la la-plus"></i><span>Add</span></span>
  </div>
</div>

<div class="row">
  <div class="col-6 text-center">
    <div data-repeater-create="" class="btn btn-sm btn-success">
      <span><i class="la la-plus"></i><span>Add Left</span></span>
    </div>
  </div>

  <div class="col-6 text-center">
    <div data-repeater-create="" class="btn btn-sm btn-success">
      <span><i class="la la-plus"></i><span>Add Right</span></span>
    </div>
  </div>
</div>

答案 1 :(得分:0)

您遵循的教程使用的是Master-Detail Page,它由。后面的代码实现。

在此处查看官方示例:https://github.com/xamarin/xamarin-forms-samples/tree/master/Navigation/MasterDetailPage/MasterDetailPageNavigation/CS