我在将长文本放入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>
结果是:
看起来,ScrollViewer并没有隐藏不适合它的东西。
我也尝试使用StackLayout,但结果相同。
我应该如何处理?
答案 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>