protected override void OnAppearing()
{
base.OnAppearing();
var stackLayout = new HorizontalStackLayout
{
HorizontalOptions = LayoutOptions.Center
};
var titel = new Label
{
Text = Title,
};
stackLayout.Children.Add(titel);
Shell.SetTitleView(this, stackLayout);
}
4条答案
按热度按时间hivapdat1#
我建议您使用Relative bindings来实现这一点。
您可以参考以下代码:
ycl3bljg2#
我不认为有一种选择的中心像你想要的。我用
Shell.SetTitleView
来做这个,这样我就可以自定义它,添加按钮和任何你想要的东西。把它放在出现的例子。另一种方法是让ContentView控制器像这样使用它
rdlzhqv93#
另一种方法是禁用内容页面的默认导航栏,并使用固定行高的Grid设计一个自定义导航栏。这里有一个例子。
djp7away4#
如果使用Shell,则可以设置custom TitleView。
请注意,使用 Grid 或 VerticalStackLayout 很重要,以便能够使用
HorizontalOptions="Center"
设置水平居中,因为官方的 HorizontalStackLayout 文档指出:HorizontalStackLayout只考虑与布局方向相反的子视图上的对齐首选项。
标题可以使用相对绑定来绑定,也可以简单地使用
x:Reference
attached属性和页面的x:Name
作为绑定源。因此,要在 TitleView 中完全居中标题标签,您可以执行以下操作: