XAML 在Maui中水平拉伸BindableLayout.ItemTemplate

lyfkaqu1  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(149)

我有一个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仅考虑与布局方向相反的子视图上的对齐首选项。
是否有办法扩展子对象,或者什么是适合此用例的“容器”?

5rgfhyps

5rgfhyps1#

请注意,这是[Bug] LayoutOptions Expand not work in HorizontalStackLayout and VerticalStackLayout中正在跟踪的已知问题。需要说明的是,AndExpand选项已弃用,并且在新的HorizontalStackLayoutVerticalStackLayout中不受支持。作为替代解决方案,您可以使用Grid实现相同的布局。或者您可以继续使用StackLayout作为其他选择。

相关问题