Я реализовал просмотр списка, и в каждом элементе я хочу иметь две метки, каждая на горизонтальном конце.Но на самом деле он просто помещает две метки рядом друг с другом по левому краю.
Я читал, что, возможно, это невозможно при использовании макета стека, поскольку он не занимает больше места, чем необходимо.(Даже пробовал заполнить и заполнить, что не помогло.)
Вместо этого я должен использовать сетку.Но у меня есть опции в моем списке просмотра, такие как группировка, обновление, кэширование, постукивание, которые, как мне кажется, у меня нет в сетке?
Я хотел бы добиться успеха со списком, если это возможно.У кого-нибудь есть понимание этой проблемы с макетом?
Вот мой код xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.Page.ItemsTest">
<ListView x:Name="ItemView"
ItemsSource="{Binding ItemGroup}"
CachingStrategy="RecycleElement"
IsGroupingEnabled="true"
HasUnevenRows="True"
ItemTapped="Handle_ItemTapped">
<ListView.GroupHeaderTemplate>
<DataTemplate>
<ViewCell>
<StackLayout BackgroundColor="#FFA500" Orientation="Vertical" Padding="10">
<StackLayout Orientation="Horizontal">
<Label Text="{Binding Heading}" TextColor="White" FontAttributes="Bold" />
</StackLayout>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.GroupHeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" Padding="10" HorizontalOptions="FillAndExpand">
<Label Text="{Binding Name}" FontAttributes="Bold" HorizontalTextAlignment="Start"/>
<Label Text="{Binding Start, StringFormat='{0:HH:mm}'}" FontAttributes="Bold" HorizontalTextAlignment="End"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage>
Центральная часть такова:
<StackLayout Orientation="Horizontal" Padding="10" HorizontalOptions="FillAndExpand">
<Label Text="{Binding Name}" FontAttributes="Bold" HorizontalTextAlignment="Start"/>
<Label Text="{Binding Start, StringFormat='{0:HH:mm}'}" FontAttributes="Bold" HorizontalTextAlignment="End"/>
</StackLayout>
Обновление:
В соответствии с просьбой у меня есть цветной фон двух надписей и макет стека.Это тот же вывод, если я использую HorizontalOptions = "End" и HorizontalTextAlignment = "End" одновременно или по одному.Кроме того, если я удаляю HorizontalOptions = "FillAndExpand" в стеке, это все тот же графический вывод.(Оранжевый цвет уже присутствовал)
![Picture of app with different backgroundcolors](https://i.stack.imgur.com/M17Tz.png)