2017-06-21 4 views
-3

私のコードでこれを行うことでページタイトルを設定しようとしています:this.Title = "string";しかし、それはまったく表示されません。画像はわかりやすいようにここにあります。赤い部分はテキストがあるべき場所です。ページタイトルが表示されないのはなぜですか?

enter image description here

編集:さてさて最初の情報の不足のため申し訳ありませんが、オフに表示し、どのようなことがないのかわかりませんでした。私はアイテムの名前がメッセージから得ているものに基づいてタイトルを変更しようとしています(私はメッセージが受信されているとは思わない、それはこれが私だけではないので、それを見て、あなたにそれに感謝します)。

メッセージ: MessagingCenter.Subscribe<ZonePage, string>(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> 

+0

「this.Title = "string";」よりも多くのコードを投稿する必要があります... – maccettura

+0

@maccetturaこれを試してみてください。コード全体に 'MessagingCenter.Subscribe (これは "loginname"、(s、arg)=> {name = arg; this.Title = name;}); ' –

+1

xamlのマークアップを投稿する – mxmissile

答えて

2

。その場合は、次のようにコードを変更してください。

これはおそらくこの場合に必要なUIスレッドを更新します。

0

はInitializeComponentの後、App.xaml.csレベルにNavigationPageとしてあなたのページを設定してください:あなたはおそらく間違ったページにタイトルを設定している

InitializeComponent(); 

MainPage = new NavigationPage(new LoginPage()); 
0

。 あなたのイメージからわかっていることから、あなたはMasterDetailページを使用しています。 私が正しい場合、このMasterDetailPageはLoginPageを保持していて、タイトルを変更しようとしています。 LoginPageのタイトルを変更しようとするのではなく、LoginPageをDetailとして保持しているMasterDetailPageのタイトルを変更しようとします。

関連する問題