TitleView не отображается - PullRequest
0 голосов
/ 16 января 2019

У меня есть приложение Xamarin.Forms, поддерживающее UWP. На всех страницах я добавил TitleView с меткой:

        var page = (Page)Activator.CreateInstance(item.TargetType);

        Label titleViewLabel = new Label
        {
            Text = item.Title,
            FontAttributes = FontAttributes.Bold,
            FontSize = 25,
            TextColor = Color.White,
            BackgroundColor = backgroundColor,
            Margin = 10
        };

        NavigationPage.SetTitleView(page, titleViewLabel);

Теперь одна из моих страниц имеет красивое название "Продукты".

На этой странице есть ListView of Products, и, щелкнув любой элемент на ней, мы переходим на страницу ProductDetailPage:

    private async void ProductView_OnItemSelected(object sender, SelectedItemChangedEventArgs args)
    {
        Product product = (Product)args.SelectedItem;
        ProductDetailPage productDetailPage = new ProductDetailPage
        {
            BindingContext = product,
            Title = product.Name
        };

        await Navigation.PushAsync(productDetailPage);
    }

Когда мы устанавливаем заголовок для названия продукта, предыдущий заголовок «Продукты» заменяется определенным названием продукта. Это нормально, но когда я нажимаю кнопку «Назад», чтобы снова перейти на страницу «Продукты». Но заголовок остается пустым. Я отладил его и вижу, что TitleView по-прежнему содержит текст «Продукты»:

    protected override void OnAppearing()
    {
        base.OnAppearing();

        Label titleView = ((Label)NavigationPage.GetTitleView(this));
        // titleView.Text has "Products!!
    }

Не могли бы вы рассказать, как я могу сделать так, чтобы название отображалось? Спасибо.

...