1

グループ機能を備えた GridView を実装しました。拡散日ごとにグループ化されたテレビ番組のエピソードのリストがあります。日付ごとに 3 つ以上のエピソードがある場合、アイテムをラップしてグループ タイトルの横に移動したいのですが、現時点では、次のアイテムが画面の外に出てしまい、それは私が望んでいたものではありません。 私のアプリケーションのビュー

ご覧のとおり、各日の複製されたエピソードの下に他のエピソードがあります。それらを他のエピソードの下ではなく、他のエピソードの隣に配置したいと考えています。これが私のXAMLコードです、ありがとう:)

<GridView Margin="70,0,0,40" ItemsSource="{Binding Source={StaticResource cvsActivities}}">
                <GridView.Template>
                    <ControlTemplate>
                        <ItemsPresenter />
                    </ControlTemplate>
                </GridView.Template>
                <GridView.ItemContainerTransitions>
                    <TransitionCollection>
                        <EntranceThemeTransition IsStaggeringEnabled="True" />
                        <RepositionThemeTransition />
                        <AddDeleteThemeTransition />
                    </TransitionCollection>
                </GridView.ItemContainerTransitions>
                <GridView.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <StackPanel Orientation="Vertical">
                                <Grid Name="grid_image">
                                    <Image Width="280" Height="200" VerticalAlignment="Center" Stretch="UniformToFill" Source="Assets/no_image.png" />
                                    <Image Width="280" Height="200" VerticalAlignment="Center" Stretch="UniformToFill" Source="{Binding saison.serie.poster}" />
                                </Grid>
                                <Image Source="Assets/Ban-1hh.png" Width="280" Height="59" Margin="0,-19,0,0"/>
                                <Grid Margin="0,-40,0,0" Height="40">
                                    <StackPanel HorizontalAlignment="Left" Orientation="Vertical" VerticalAlignment="Center" Margin="0,-7,0,0">
                                        <TextBlock HorizontalAlignment="Left" Margin="5,0,0,0" Width="190" TextTrimming="WordEllipsis" Foreground="White" FontSize="20" Text="{Binding saison.serie.nom}" />
                                        <TextBlock HorizontalAlignment="Left" Margin="5,-5,0,0" Width="190" TextTrimming="WordEllipsis" Foreground="White" FontSize="13" Text="{Binding date}" />
                                    </StackPanel>
                                    <StackPanel VerticalAlignment="Center" HorizontalAlignment="Right" Orientation="Vertical" Margin="0,-5,5,0">
                                        <StackPanel Orientation="Horizontal" FlowDirection="RightToLeft">
                                            <TextBlock Foreground="#f0ec45" FontSize="14" Text="{Binding saison.number}" />
                                            <TextBlock Foreground="#f0ec45" FontSize="14" Margin="5,0,0,0" Text="Saison " />
                                        </StackPanel>
                                        <StackPanel Orientation="Horizontal" FlowDirection="RightToLeft" Margin="0,-5,0,0">
                                            <TextBlock Foreground="#f0ec45" FontSize="14" Text="{Binding ep_number}" />
                                            <TextBlock Foreground="#f0ec45" FontSize="14" Margin="5,0,0,0" Text="Episode " />
                                        </StackPanel>
                                    </StackPanel>
                                </Grid>
                            </StackPanel>
                        </Grid>
                    </DataTemplate>
                </GridView.ItemTemplate>
                <GridView.GroupStyle>
                    <GroupStyle>
                        <GroupStyle.HeaderTemplate>
                            <DataTemplate>
                                <Grid Background="LightGray"  >
                                    <TextBlock Text="{Binding Key, Converter={StaticResource StringFormatConverter}, ConverterParameter='{}{0:dddd dd MMM yy}'}"  Foreground="Black" Margin="10"
                       Style="{StaticResource PageSubheaderTextStyle}" />
                                </Grid>

                            </DataTemplate>
                        </GroupStyle.HeaderTemplate>
                    </GroupStyle>
                </GridView.GroupStyle>
            </GridView>
4

2 に答える 2

0

を追加しItemsPanelTemplateます (デフォルトの GridApp と GroupedItemsPage.xaml を見ると、このように実行されていることがわかります)。

<GroupStyle.Panel>
   <ItemsPanelTemplate>
      <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0" />
   </ItemsPanelTemplate>
</GroupStyle.Panel>

列の 3 番目の要素が下からはみ出すようにする場合は、GridView 自体に負の下マージンを設定できます。

于 2013-01-21T01:28:33.427 に答える
0

GridView コントロール テンプレートを事実上消去したので、機能しないのも不思議ではありません。次の部分を削除すると、正常に戻る可能性があります。

<GridView.Template>
    <ControlTemplate>
        <ItemsPresenter />
    </ControlTemplate>
</GridView.Template>

デフォルトのテンプレートで変更したいものがある場合は、その特定のものを変更します。デフォルトのテンプレートには、水平方向の ScrollViewer があり、ItemsPanelTemplate に使用される WrapGrid による垂直方向のスペースの使用を制限し、項目を次の列に折り返すことができます。また、水平方向にスクロールしてすべての項目を表示することもできます。

于 2013-01-21T04:19:40.780 に答える