2015-09-17 106 views
2

我遇到了Xamarin.Forms和Label的问题。 我试图在网格列上设置标签。Xamarin Forms XAML标签旋转

这里的第一张图片显示了预期的结果,这是用Android上的AXML编写的。

Right

这里的第二图像被写在XAML中Xamarin.Forms。

Wrong

在XAML文件中的代码如下:

<Grid 
    VerticalOptions="FillAndExpand" 
    HorizontalOptions="FillAndExpand"> 
    <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="400*"/> 
      <ColumnDefinition Width="75*"/> 
     </Grid.ColumnDefinitions> 
     <WebView Source="{Binding ContentSource}" /> 
     <!--<ProgressBar IsVisible="{Binding IsLoading}" 
        Progress="{Binding Progress}"/>--> 

     <Grid Grid.Column="1" 
      BackgroundColor="#EE7F00" 
      VerticalOptions="FillAndExpand" 
      HorizontalOptions="FillAndExpand"> 
      <Label 
       Text="{Binding DocumentIndex}" 
       LineBreakMode="NoWrap" 
       HorizontalOptions="Center" 
       Rotation="-90" 
       VerticalOptions="Center" /> 
      </Grid> 
     </Grid> 

如何展开标签的高度或宽度等于所述文本长度?

谢谢到目前为止

+0

使用CenterAndExpand而不是您的标签上的中心进行尝试。 – Cheesebaron

+0

不适用于我。 – MBZ

+0

我面对同样的问题,即使在旋转后,标签也会呈现父级宽度。增加标签字体/文本会增加父宽度,因此需要将此文件作为Xamarin Bugzilla(https://bugzilla.xamarin.com/)中的错误进行存档。 –

回答

0

的标签取下网格容器放置盒显示的模式,并设置网格行和列同为箱视图和标签两者。像这样

<Grid 
VerticalOptions="FillAndExpand" 
HorizontalOptions="FillAndExpand"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="80*"/> 
     <ColumnDefinition Width="20*"/> 
    </Grid.ColumnDefinitions> 

    <WebView Grid.Row="0" Grid.Column="0" Source="{Binding ContentSource}" /> 
    <!--<ProgressBar IsVisible="{Binding IsLoading}" 
       Progress="{Binding Progress}"/>--> 
    <BoxView Grid.Row="0" Grid.Column="1" BackgroundColor="#EE7F00" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"/> 
    <Label Grid.Row="0" Grid.Column="1" Text="{Binding DocumentIndex}" 
      LineBreakMode="NoWrap" 
      HorizontalOptions="Center" 
      Rotation="-90" 
      VerticalOptions="Center" /> 

</Grid> 

我希望这将解决你的标签长度​​问题后旋转。

+1

我有类似的问题。网格中的标签旋转+或-90度(默认z轴),并限制在网格布局内的窄列内。标签文本被截断为列的宽度。我已经尝试了上述建议的解决方法,它没有任何区别。我已经在Android和iOS平台上尝试过了。这是一个已知的问题。在上面的1月5日评论中提到了Xamarin bugzilla。 – retail3r