XAML .NET MAUI中的ContentLayout问题-文本未显示且位置不正确

qnyhuwrf  于 2023-09-28  发布在  .NET
关注(0)|答案(1)|浏览(139)

我使用CollectionView来显示我的.NET MAUI项目中的项目列表,并且我有一个自定义标题,其中包含一些使用StackLayout排列的按钮。然而,我遇到了一个问题,即StackLayout中ContentLayout=“Top”的Button元素没有显示它们的文本。相反,对于这些按钮,只有图像可见。不带图像的Button元素可以正确显示其文本。

<CollectionView SelectionMode="Single">
    <CollectionView.ItemsLayout>
        <GridItemsLayout Orientation="Vertical" Span="2" />
    </CollectionView.ItemsLayout>
    <CollectionView.ItemsSource>
        <x:Array Type="{x:Type x:String}">
            <x:String>Item 1</x:String>
            <x:String>Item 2</x:String>
            <x:String>Item 3</x:String>
            <x:String>Item 4</x:String>
            <x:String>Item 5</x:String>
            <x:String>Item 6</x:String>
            <x:String>Item 7</x:String>
            <x:String>Item 8</x:String>
            <x:String>Item 9</x:String>
            <x:String>Item 10</x:String>
            <x:String>Item 11</x:String>
            <x:String>Item 12</x:String>
        </x:Array>
    </CollectionView.ItemsSource>
    <CollectionView.Header>
        <VerticalStackLayout
            x:Name="myStack"
            Padding="10,0"
            VerticalOptions="Start">
            <Label
                FontSize="Subtitle"
                HorizontalOptions="Center"
                Text="Start without template" />
            <HorizontalStackLayout HorizontalOptions="Center">
                <Button
                    BackgroundColor="Transparent"
                    ContentLayout="Top"
                    FontSize="Small"
                    ImageSource="line_1.png"
                    Text="1 Line"
                    TextColor="Black" />
                <Button
                    BackgroundColor="Transparent"
                    ContentLayout="Top"
                    FontSize="Small"
                    ImageSource="line_2.png"
                    MinimumHeightRequest="50"
                    Text="2 lines"
                    TextColor="Black" />
                <Button
                    BackgroundColor="Transparent"
                    ContentLayout="Top"
                    FontSize="Small"
                    ImageSource="line_3.png"
                    MinimumHeightRequest="50"
                    Text="{Binding Linethree}"
                    TextColor="Black" />
            </HorizontalStackLayout>
            <BoxView HeightRequest="1" />
            <Label
                Padding="10"
                FontSize="Subtitle"
                HorizontalOptions="Center"
                Text="Template categories" />
       </VerticalStackLayout>
    </CollectionView.Header>
    <CollectionView.ItemTemplate>
        <DataTemplate>
            <Frame
                Margin="10"
                Padding="0"
                BorderColor="Transparent"
                HasShadow="False"
                HorizontalOptions="Center">
                <Frame.Content>
                    <StackLayout BackgroundColor="#e0e0e0" HorizontalOptions="FillAndExpand">
                        <Label
                            FontSize="Small"
                            HorizontalOptions="CenterAndExpand"
                            HorizontalTextAlignment="Center"
                            Text="Card printing"
                            VerticalOptions="Center"
                            VerticalTextAlignment="Center" />
                        <Image
                            Aspect="AspectFill"
                            HorizontalOptions="FillAndExpand"
                            Source="category.png" />
                    </StackLayout>
                </Frame.Content>
            </Frame>
        </DataTemplate>
    </CollectionView.ItemTemplate>
</CollectionView>
t3irkdon

t3irkdon1#

根据您的回复,关于这个问题:
文本未显示和定位不正确...
最后通过使用ImageButton结束它。

相关问题