我有一个HorizontalStackLayout
,其中的元素是通过BindableLayout.Itemsource
添加的。
这是我的意思的一个例子:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="StackLayoutStretchTest.MainPage">
<VerticalStackLayout>
<HorizontalStackLayout
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
BackgroundColor="Green">
<BindableLayout.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>Baboon</x:String>
<x:String>Capuchin Monkey</x:String>
<x:String>Blue Monkey</x:String>
<x:String>Squirrel Monkey</x:String>
<x:String>Golden Lion Tamarin</x:String>
<x:String>Howler Monkey</x:String>
<x:String>Japanese Macaque</x:String>
</x:Array>
</BindableLayout.ItemsSource>
<BindableLayout.ItemTemplate>
<DataTemplate>
<Label Text="{Binding .}"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand"
HorizontalTextAlignment="Center"
TextColor="White"
BackgroundColor="DarkBlue"/>
</DataTemplate>
</BindableLayout.ItemTemplate>
</HorizontalStackLayout>
<VerticalStackLayout HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand">
<Label Text="Text"
HorizontalTextAlignment="Center"
TextColor="Black"
BackgroundColor="White"/>
</VerticalStackLayout>
</VerticalStackLayout>
</ContentPage>
我怎样才能使标签(蓝色)填充并扩展到自由空间(绿色)?毛伊岛学习页面说:HorizontalStackLayout
仅考虑与布局方向相反的子视图上的对齐首选项。
是否有办法扩展子对象,或者什么是适合此用例的“容器”?
1条答案
按热度按时间5rgfhyps1#
请注意,这是[Bug] LayoutOptions Expand not work in HorizontalStackLayout and VerticalStackLayout中正在跟踪的已知问题。需要说明的是,
AndExpand
选项已弃用,并且在新的HorizontalStackLayout
和VerticalStackLayout
中不受支持。作为替代解决方案,您可以使用Grid
实现相同的布局。或者您可以继续使用StackLayout
作为其他选择。