【问题标题】:Horizontally grouped ListView in Windows Store appsWindows 应用商店应用中水平分组的 ListView
【发布时间】:2015-11-30 03:40:48
【问题描述】:

我希望我的分组 ListView 中的组水平显示而不是垂直显示。我尝试了这个解决方案,但是这些组仍然在彼此之下而不是彼此相邻。 Arranging ListView items Horizontally

这是我的 XAML(这是原始的,未修改):

<ListView Name="slotlist"
          ItemsSource="{Binding Source={StaticResource cvsDelivery}}"
          Margin="0,0,10,0" 
          IsItemClickEnabled="True"
          ItemClick="onSlotBooked">
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="HorizontalContentAlignment Value="Stretch"/>
                </Style>
            </ListView.ItemContainerStyle>
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Grid Width="{Binding ActualWidth, ElementName=grRoot}">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>

                        <TextBlock Text="{Binding timeRange}" Grid.Column="0" FontWeight="Bold" 
                       Margin="10,0,0,0"
                       Foreground="{Binding Fontcolor}"
                       HorizontalAlignment="Left"
                       VerticalAlignment="Center"
                       Style="{StaticResource BaseTextBlockStyle}"/>

                        <TextBlock Text="{Binding slotPrice}" Grid.Column="1" FontWeight="Bold" 
                       Margin="0,0,20,0"
                       Foreground="{Binding Fontcolor}"
                       HorizontalAlignment="Right"
                       VerticalAlignment="Center"
                       Style="{StaticResource BaseTextBlockStyle}"/>

                    </Grid>
                </DataTemplate>
            </ListView.ItemTemplate>

            <ListView.GroupStyle>
                <GroupStyle HidesIfEmpty="True">
                    <GroupStyle.HeaderTemplate>
                                    <DataTemplate>
                                        <TextBlock 
                                            Text="{Binding date}"
                                            Foreground="#FF005299"/>
                        </DataTemplate>
                    </GroupStyle.HeaderTemplate>
                </GroupStyle>
            </ListView.GroupStyle>

        </ListView>

【问题讨论】:

标签: xaml windows-store-apps windows-10 uwp


【解决方案1】:

要使ListView 水平显示,您可以修改ItemsPanel,如下所示:

<ListView>
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <ItemsStackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>

【讨论】:

  • 这不会使项目水平,而是组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多