Xamarin.Forms ScrollView有长文本

时间:2015-05-21 09:14:46

标签: xamarin xamarin.forms

我在将长文本放入Label中时遇到问题,该文件包含在Xamarin.Forms中的ScrollView中

我有这样的事情:

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="*"/>
    <RowDefinition Height="Auto"/>
  </Grid.RowDefinitions>
    <ScrollView Grid.Row="0">
        <customControls:Label x:Name="Text" />
    </ScrollView>
    <StackLayout Grid.Row="1">
        <Button Text="Cancel" Command="{Binding CancelCommand}" HorizontalOptions="Start" VerticalOptions="Center"></Button>
        <Button Text="Accept" Command="{Binding ShowSignatureCommand}" HorizontalOptions="End" VerticalOptions="Center" />
    </StackLayout>
</Grid>

结果是:

At beginning

看起来,ScrollViewer并没有隐藏不适合它的东西。

我也尝试使用StackLayout,但结果相同。

我应该如何处理?

1 个答案:

答案 0 :(得分:2)

据我所知,如果你没有在Grid中定义列,可能会发生这种情况。有很多方法可以做你想做的事:

使用网格:

4.2.x-dev

使用StackLayout:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="70"/>
        <ColumnDefinition Width="70"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <ScrollView Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="4">
        <yourControl/>
    </ScrollView>

    <Button Grid.Row="1" Grid.Column="1" Text="Ok" />
    <Button Grid.Row="1" Grid.Column="2" Text="Cancel" />
</Grid>