我使用3个标签实现TabbedPage,如下图所示。
在这3个标签的顶部,我正在尝试设置标题,这对于所有3个标签都是常见的。尝试了tabbedpage的title属性,但没有工作。
MyTabbedpage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Myapp;assembly=Myapp"
BarBackgroundColor="#1C7DB4"
BarTextColor="White"
x:Class="Myapp.MyTabbedPage">
</TabbedPage>
MyTabbedpage.xaml.cs
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace Myapp
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MyTabbedPage : TabbedPage
{
public MyTabbedPage(bool value)
{
InitializeComponent();
Children.Add(new Topics());
Children.Add(new Group());
Children.Add(new Menu());
}
protected override bool OnBackButtonPressed()
{
return false;
}
}
}
请提出解决方案。
答案 0 :(得分:1)
如果没有自定义渲染器,我认为你无法做到这一点。
您可以尝试这个预建的表单控件 - TabView - 位于: https://github.com/gruan01/XFControls
您也可以在NuGet上找到它。 您可以将图像设置到选项卡和其他增强功能上。
但我强烈建议使用自定义渲染器作为最终解决方案。
答案 1 :(得分:0)
public class MainPageCS : TabbedPage
{
public MainPageCS ()
{
var navigationPage = new NavigationPage (new SchedulePageCS ());
navigationPage.Icon = "schedule.png";
navigationPage.Title = "Schedule";
Children.Add (new TodayPageCS ());
Children.Add (navigationPage);
}
}
这是official documentation的代码段。在第7行,您可以看到标题的设置方式。
在您修改问题之后,您似乎希望将TabbedPage
换成NavigationPage
并为Title
设置NavigationPage
。例如:
new NavigationPage(new MyTabbedPage()) { Title = "Common Title" };
或者,您TabbedPage
个孩子中的一个也可能是NavigationPage
,具体取决于您的需求。