Man*_*mar 6 xaml xamarin.forms
我正在使用 Xamrin 在 Xaml 中创建一个表单,其中包含我在其中隐藏堆栈布局的绝对布局。但是隐藏的堆栈布局下方还有一个堆栈布局,但隐藏的堆栈布局占用了空间。
我想要做什么。当我确实隐藏了一个堆栈布局时,另一个堆栈布局应该取代隐藏的堆栈布局。
感谢您的帮助和支持。
我已经解决了这个问题:
我 在这个链接中点击了这个链接 https://forums.xamarin.com/discussion/83632/hiding-and-showing-stacklayout他们说使用网格并使行高自动,它会自动调整布局的额外空间。
<Grid VerticalOptions="Fill">
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions> <StackLayout Grid.Row="1" Spacing="20"><StackLayout Margin="10,0">
<Label Text="lable 1" VerticalOptions="Center" FontSize="Small" />
<Label Text="lable 2" VerticalOptions="Center" FontSize="Small" />
</StackLayout>
<StackLayout IsVisible="{Binding IsStudent}" Margin="10,0">
<Label Text="lable3" VerticalOptions="Center" FontSize="Small" />
<Label Text="lable 4" VerticalOptions="Center" FontSize="Small" />
<Label Text="lable 5" VerticalOptions="Center" FontSize="Small" />
<Label Text="lable 6" VerticalOptions="Center" FontSize="Small" />
</StackLayout> </StackLayout> <StackLayout Grid.Row="2" Spacing="20" >
<local:Button x:Name="btnSave" Text="Submit" VerticalOptions="End" HorizontalOptions="FillAndExpand" IsVisible="{Binding IsBusy, Converter={x:Static local:InverseBoolConverter.Instance}}" AutomationId="saveButton" /></StackLayout></Grid>
Run Code Online (Sandbox Code Playgroud)
不需要网格。设置 IsVisible 和 HeightRequest 属性。
MyStackLayout.IsVisible = false;
MyStackLayout.HeightRequest = 0; // trigger recalc of space layout.
Run Code Online (Sandbox Code Playgroud)
heightrequest 的变化会触发所需的重新计算。
| 归档时间: |
|
| 查看次数: |
8873 次 |
| 最近记录: |