我遇到一个奇怪的问题,当我将“内容”页面设置为启动页面时,Xamarin Forms App可以正常工作。如果我将TabbedPage设置为启动项,并将ContentPage设置为TabbedPage的子级项,则它不会显示/数据绑定ContentPage。没有错误。我想念什么?这是我的TabbedPage视图模型。

using MvvmCross.Core.ViewModels;
using System.Windows.Input;

namespace Company.Mobile.ViewModels
{
    public class TabbedMainViewModel
        : MvxViewModel
    {

    }
}


XAML:

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:forms="using:Xamarin.Forms"
             xmlns:local="clr-namespace:company.Mobile.Pages;assembly=company.Mobile"
             x:Class="company.Mobile.Pages.TabbedMainPage"
            Title="Title">
  <TabbedPage.Children>
    <local:HomePage/>
    <local:MainPage/>
    <local:ResourcesPage/>
    <local:ContactPage/>
  </TabbedPage.Children>
</TabbedPage>

最佳答案

经过社区的反复试验和帮助之后,这才起作用。

将BindingContext设置为C#背后的ContentPage代码,如下所示:

    public partial class HomePage : ContentPage
    {
        public HomePage()
        {
            InitializeComponent();
            var svc = Mvx.Resolve<IMobileService>();
            BindingContext = new HomeViewModel(svc);
        }
    }


在HomeViewModel构造函数中获取数据,如下所示:

public class HomeViewModel : MvxViewModel

    {
        private readonly IMobileService service;

        public HomeViewModel(IMobileService service)
        {
            this.service = service;
            //Content = service.GetContent; //Get your data
        }
     }

10-05 19:50