2017-11-30 14 views
0

私はXamarin Formsアプリケーションにxamlユーザー登録ページを用意しています。ここでユーザーは利用規約に同意する必要があります。私は水平のスタックレイアウトに2つのラベルを使用していますので、「利用規約」をタップして利用規約ページに移動することができます。Xamarinフォームを1行で囲むように2つのラベルをフォーマットします。

enter image description here

しかし、それは以下のようにラップ5S上:

enter image description here

コントロールのXAML:それはiPhone 6の罰金と見上げ

<StackLayout Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal" Padding="0,0,0,5"> 
    <Label Text="I agree to the" VerticalOptions="Center" HorizontalOptions="Start" /> 
    <Label Text="terms and conditions" VerticalOptions="Center" HorizontalOptions="Start" LineBreakMode="WordWrap" > 
     <Label.TextColor> 
      <OnPlatform x:TypeArguments="Color" 
       iOS="#0076fa" 
       Android="#3d5afe" /> 
     </Label.TextColor> 
     <Label.GestureRecognizers> 
      <TapGestureRecognizer Command="{Binding TermsCommand}" /> 
     </Label.GestureRecognizers> 
    </Label> 
    <Switch IsToggled="{Binding Agree}" HeightRequest="30" WidthRequest="50" HorizontalOptions="Start" VerticalOptions="Center" /> 
</StackLayout> 

とにかく、単一の文章のようにすべてのテキストを折り返すように書式設定する必要はありますか?

+1

私はAttributedTextで単一のラベルを使ってテキストを色付けしようとしますが、全体をタップ可能にしてください。 – Jason

+0

効果的に働いたおかげで@Jason –

答えて

0

これを処理するカスタムラベルコントロールを作成することをお勧めします。 Pieter Nijsのブログhttps://blog.pieeatingninjas.be/2017/11/05/creating-a-hyperlinklabel-in-xamarin-forms/のブログには、あなたの必要性を満たすのに十分な出発点があります。

簡単に言えば、彼は画面上に表示されるマークアップテキストを受け入れるラベルコントロールを作成しました。これは、テキストの一部だけにハイパーリンクを使用できるようにすることを意味します。

技術的には、各プラットフォームのテキストをハイパーリンクを処理できるコントロールに変換します。

関連する問題