C# 页面标题不显示,为什么不显示?

C# 页面标题不显示,为什么不显示?,c#,xaml,xamarin.forms,C#,Xaml,Xamarin.forms,我试图通过在代码中执行以下操作来设置页面标题:this.title=“string”但它根本不会显示。我想这张图片是为了清晰。红色部分是文本应该出现的地方 编辑:好的,首先,很抱歉缺少信息,但不确定要显示什么和不显示什么。我正在尝试根据我从邮件中收到的项目名称更改标题(我不认为收到了邮件,我认为是因为这不是我使用的唯一邮件。现在查看一下,谢谢大家) 信息: MessagingCenter.Subscribe(this,“loginname”,(s,arg)=>{name=arg;this.Ti

我试图通过在代码中执行以下操作来设置页面标题:
this.title=“string”但它根本不会显示。我想这张图片是为了清晰。红色部分是文本应该出现的地方

编辑:好的,首先,很抱歉缺少信息,但不确定要显示什么和不显示什么。我正在尝试根据我从邮件中收到的项目名称更改标题(我不认为收到了邮件,我认为是因为这不是我使用的唯一邮件。现在查看一下,谢谢大家)

信息:
MessagingCenter.Subscribe(this,“loginname”,(s,arg)=>{name=arg;this.Title=name;})

xaml标记:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="MobileApp.LoginPage">
<StackLayout BackgroundColor="#15a4fa">
    <StackLayout VerticalOptions="CenterAndExpand" Padding="50, 0, 50, 50">
        <Image Source="logotext.png" />
    </StackLayout>

    <StackLayout BackgroundColor="White" VerticalOptions="StartAndExpand" Padding="25, 20, 25, 20">
        <Entry x:Name="userNameEntry" TextColor="Black" Placeholder="Username" HorizontalOptions="Fill"/>
        <Entry x:Name="passwordEntry" IsEnabled="True" TextColor="Black" IsPassword="True" Placeholder="Password" HorizontalOptions="Fill"/>
        <StackLayout Orientation="Horizontal">
            <Switch x:Name="Remember" IsToggled="False" HorizontalOptions="Center"/>
            <Label Text="Remember me" TextColor="Black" Font="18" HorizontalOptions="Start"/>
        </StackLayout>
    </StackLayout>

    <StackLayout Padding="75, 0, 75, 50" VerticalOptions="Center">
        <Picker x:Name="picker"  TextColor="White" Title="Select an Identity Source">
            <Picker.Items>
                <!-- Items added dynamically from xaml.cs -->
            </Picker.Items>
        </Picker>
    </StackLayout>

    <StackLayout Padding="0, 0, 0, 0" VerticalOptions="StartAndExpand" HorizontalOptions="Center" Orientation="Horizontal">
        <Button Text="Login" BackgroundColor="White" TextColor="Black" VerticalOptions="Start" HorizontalOptions="Center" Clicked="OnLogin"/>
    </StackLayout>
</StackLayout>


在接收消息的方法中设置一个断点,以确保获得某些信息。如果是,请按如下方式修改代码:

MessagingCenter.Subscribe<ZonePage, string>(this, "loginname", (s, arg) => { 
    name = arg;

    Device.BeginInvokeOnMainThread (() => {
        this.Title = name;
    });
});
MessagingCenter.Subscribe(这个“loginname”,(s,arg)=>{
name=arg;
Device.beginInvokeMainThread(()=>{
this.Title=名称;
});
});

这将更新您的UI线程,在这种情况下可能需要此线程。

在初始化组件后,尝试将您的页面设置为App.xaml.cs级别的NavigationPage:

InitializeComponent();

MainPage = new NavigationPage(new LoginPage());

您可能将标题设置为错误的页面。 根据我从你的图片中了解到的情况,你正在使用MasterDetail页面。 如果我是正确的,这个MasterDetailPage会保存您的登录页面,您可以在其中尝试更改标题。
但是不要试图更改登录页面的标题,而是尝试更改将登录页面作为详细信息保存的MasterDetailPage的标题

你必须发布更多的代码,而不仅仅是
this.Title=“string”
..@maccettura这就是我所做的尝试,这里的整行代码都是
MessagingCenter.Subscribe(这个,“loginname”,(s,arg)=>{name=arg;这个.Title=name;})发布你的xaml标记你订阅了一些你没有在问题中写的东西。请发布您的发布/订阅代码。您确定消息已收到,并且参数设置正确吗?如果试图在页面已经显示之后设置标题,则可能需要在UI线程上执行