我有一个支持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!!
}
能告诉我如何显示标题吗?谢谢。