2017-09-01 4 views
0

1行または2行に表示できるテキストが含まれているmultiline Labelを縦方向に中央に表示しようとしています。瞬間のためにXamarin.Forms:行内にマルチラインラベルを配置する方法は?

、私が期待されるレンダリングを取得することができないんだけど...

私は自動的に拡張し、複数行のラベルを持つことができますが、それはトップ整列とセンタリングされていません。 label is not centered

この添付XAMLです:

<Grid.RowDefinitions> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="*" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="0" /> 
</Grid.RowDefinitions> 

<local:MultiLineLabel 
    Grid.Row="0" 
    Grid.Column="1" 
    BackgroundColor="Orange" 
    Text="{ Binding encart_titre }"   
    VerticalTextAlignment="Center" 
    LineBreakMode="TailTruncation" 
    Lines="2" 
    ... 
/> 

私もラベルを中央にすることができますが、この場合には、それは自動拡張しません: enter image description here

これは添付のXAMLです:

<Grid.RowDefinitions> 
    <RowDefinition Height="*" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="0" /> 
</Grid.RowDefinitions> 

<local:MultiLineLabel 
    Grid.Row="0" 
    Grid.Column="1" 
    BackgroundColor="Orange" 
    Text="{ Binding encart_titre }"   
    VerticalTextAlignment="Center" 
    LineBreakMode="TailTruncation" 
    Lines="2" 
    VerticalOptions="FillAndExpand" 
    ... 
/> 

あなたが任意の説明を持っていますか? 、制御を中心とする第一の選択肢はVerticalOptions="CenterAndExpand"を使用することです...

答えて

2

をあなたの代わりにVerticalOptions="FillAndExpand"のことを試してみました私はまた、ラベルの周りStackLayoundを追加しようとしましたが、これは何も変更しませんでしたか? Here's more informationについては、Xamarin.FormsのLayoutOptionsを参照してください。

<local:MultiLineLabel 
    Grid.Row="0" 
    Grid.Column="1" 
    BackgroundColor="Orange" 
    Text="{ Binding encart_titre }"   
    VerticalTextAlignment="Center" 
    LineBreakMode="TailTruncation" 
    Lines="2" 
    VerticalOptions="CenterAndExpand" <!-- This one here --> 
    ... 
/> 
+0

はあなたに感謝、それは 'VerticalOptions =「CenterAndExpand」' –

+1

ほんの少しの仕様で動作します:ラベルは 'StackLayout'に埋め込まれなければならない

だから、これは垂直方向にセンタリングするための正しい方法だろう'VerticalOptions =" CenterAndExpand "と' Horizo​​ntalOptions = "CenterAndExpand"を指定してください。 –

関連する問題