C# 在ContentView-Xamarin.Forms定义的页面上,解析在XAML中声明的日期到日期选择器

C# 在ContentView-Xamarin.Forms定义的页面上,解析在XAML中声明的日期到日期选择器,c#,parsing,xamarin.forms,parameter-passing,C#,Parsing,Xamarin.forms,Parameter Passing,我有一个日期选择器的第一页。在导航中,我想将数据从日期选择器传递到目标页面上的日期选择器 问题在于,目标页面是由ContentView定义的,而ContentView不是从目标页面本身之外的任何地方使用的 以下是第一个日期选择器的原始页面: public TavoloList () { InitializeComponent (); } protected override void OnAppearing() { Date

我有一个日期选择器的第一页。在导航中,我想将数据从日期选择器传递到目标页面上的日期选择器

问题在于,目标页面是由ContentView定义的,而ContentView不是从目标页面本身之外的任何地方使用的

以下是第一个日期选择器的原始页面:

    public TavoloList ()
    {
        InitializeComponent ();
    }
    protected override void OnAppearing()
    {
        DateTime currentDate = MainDatePicker.Date;
        this.BindingContext = new TavoloListViewModel(Navigation);
    }



    <DatePicker x:Name="MainDatePicker" Grid.Row="1" Grid.Column="1" />
以下是XAML中的AddTavolo:

<local:TavoloContentView />
添加到AddTavolo代码behing部分,但我得到一个错误,即TavoloContentView.pickArrivalDate由于其保护级别而不可访问。(很明显,我也在整个路线上传递DateTime currentDate,但我只能到达AddTavolo页面。我不知道如何进一步传递到Tavolo内容视图)

我正在发布AddTavoloViewModel:

    public AddTavoloViewModel(INavigation navigation)
    {
        _navigation = navigation;
        _tavolo = new Tavolo();
        _tavoloRepository = new TavoloRepository();

        AddTavoloCommand = new Command(async () => await AddTavolo());
        ViewAllTavoloCommand = new Command(async () => await ShowTavoloList());
    }

    async Task AddTavolo()
    {

        bool isUserAccept = await Application.Current.MainPage.DisplayAlert("Add Tavolo", "Do you want to save Tavolo details?", "OK", "Cancel");
        if (isUserAccept)
        {
            _tavoloRepository.InsertTavolo(_tavolo);
            await _navigation.PushAsync(new TavoloList());
        }
    }
和AddTavolo代码隐藏:

    public AddTavolo()
    {
        InitializeComponent();
        BindingContext = new AddTavoloViewModel(Navigation);

    }

请发布相关代码是的,我现在正在这样做。这是一个由TavoloContentView定义的页面。TavoloContentView仅用于定义AddTavolo页面的布局。向AddTavolo添加一个costructor,并使用一个参数保存要传递给它的日期。->公共AddTavolo(DateTime date2pass){/}
TavoloContentView.pickArrivalDate.Date = currentDate;
    public AddTavoloViewModel(INavigation navigation)
    {
        _navigation = navigation;
        _tavolo = new Tavolo();
        _tavoloRepository = new TavoloRepository();

        AddTavoloCommand = new Command(async () => await AddTavolo());
        ViewAllTavoloCommand = new Command(async () => await ShowTavoloList());
    }

    async Task AddTavolo()
    {

        bool isUserAccept = await Application.Current.MainPage.DisplayAlert("Add Tavolo", "Do you want to save Tavolo details?", "OK", "Cancel");
        if (isUserAccept)
        {
            _tavoloRepository.InsertTavolo(_tavolo);
            await _navigation.PushAsync(new TavoloList());
        }
    }
    public AddTavolo()
    {
        InitializeComponent();
        BindingContext = new AddTavoloViewModel(Navigation);

    }