未显示TitleView

时间:2019-01-16 13:14:27

标签: xamarin.forms xamarin.uwp

我有一个支持UWP的Xamarin.Forms应用程序。在所有页面上,我都添加了带有标签的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,并且在其中单击任何项​​目后,我们导航到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仍然包含文本“ Products”:

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

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

能告诉我如何显示标题吗?谢谢。

0 个答案:

没有答案