2017-07-14 110 views
0

我有旋转标签的问题。我想要将它置于网格中,并使标签中的单词不会分裂。现在,就像第一个列表项一样,它被分成两行。 我试过LineBreakMode但这不是我要找的。 同时将它设置为图像的中心是一个挑战,因为涉及到像“新”这样的短语。在这种情况下,由于保证金而导致单词下降。有什么方法可以使用它吗?带格栅图像的旋转标签

<Grid 
    Margin="10,0,10,0" 
    ColumnSpacing="0"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="125"></RowDefinition> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="50"/> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
    <Image              
     Grid.Row="0" Grid.Column="0" 
     Margin="0,3,0,3" 
     Source="{Binding Status,Converter={StaticResource ImageConverter }}" 
     /> 
     <StackLayout Grid.Row="0" Grid.Column="0" 
      VerticalOptions="FillAndExpand" 
      HorizontalOptions="FillAndExpand"> 
      <Label Text="{Binding StatusDict}}" 
       Margin="0,50,0,0" 
       TextColor="White" 
       FontSize="Micro" 
       Rotation="270" 
       /> 
     </StackLayout> 
    . 
    . 
    . 
    . 
</Grid> 

enter image description here

回答

0

尝试把你的标签网格内stacklayout里面,然后尝试包裹标签。

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

欲了解更多信息,请访问该链路https://forums.xamarin.com/discussion/17488/xamarin-forms-label-wont-word-wrap-inside-a-grid 希望它能帮助。

+0

你也可以查看这个链接 - https://stackoverflow.com/questions/5344486/text-wrapping-in-grid-in-view-panel – LogicalDesk

0

过去有很多关于Xamarin中的标签换行的问题,在他们的论坛上讨论这类事情的线索很多,但仅仅出于兴趣而已,您试图简单地设置换行符来不包装单词。 LineBreakMode="NoWrap"

<Grid Margin="10,0,10,0" ColumnSpacing="0"> 

    <Grid.RowDefinitions> 
     <RowDefinition Height="125"></RowDefinition> 
    </Grid.RowDefinitions> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="50"/> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 

    Image Grid.Row="0" Grid.Column="0" Margin="0,3,0,3" Source="{Binding Status,Converter={StaticResource ImageConverter }}"/> 

    <StackLayout Grid.Row="0" Grid.Column="0" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"> 
     <Label Text="{Binding StatusDict}" Margin="0,50,0,0" TextColor="White" FontSize="Micro" Rotation="270" LineBreakMode="NoWrap" /> 
    </StackLayout> 

</Grid> 

链接到酒店信息HERE,并链接到该类型信息HERE

这是值得铭记您明确设置你的行的高度,所以你不能动态调整标签的宽度并期望表格进行调整,但如果您希望始终将文本放在一行上,那么您需要考虑动态调整标签的宽度和表格行的高度。