旋转标签有问题。我希望将它放在网格中,并使标签中的单词不分割。就目前而言,就像在第一个列表项上一样,它被拆分为2行。
我试过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>
答案 0 :(得分: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 希望它有所帮助。
答案 1 :(得分:0)
过去在xamarin中使用标签进行了多次排序问题,他们的论坛上有很多讨论此类问题的帖子,但是你只是出于兴趣而尝试将linebreakmode设置为不包装这些话。 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>
值得记住您明确设置了行的高度,因此您无法动态调整标签的宽度并希望表格能够调整,但是如果你想在一行上总是有文字,那么你需要考虑动态地调整标签的宽度和表行的高度。