1

GridViewその中に明示的にサイズ設定されたデータバインドされたコントロールをいくつかグループ化しました。

のタイプはGridViewaです。VariableSizedWrapGridItemPanelTemplate

ご覧のとおり、ScrollViewスクロールはコンテンツをはるかに超えています。

以下の XAML に感謝します。

コンテンツ領域を超える ScrollView

<GridView Grid.Row="2" ItemsSource="{Binding Source={StaticResource contentSetListViewSource}}" ItemTemplate="{StaticResource DashboardContentSetItem}" SelectedIndex="-1" SelectionMode="Multiple" Padding="0,0,0,15" VerticalAlignment="Center"  Margin="20 0" HorizontalAlignment="Left">
    <GridView.GroupStyle>
        <GroupStyle>                        
            <GroupStyle.HeaderTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Key}" Margin="0 10" Style="{StaticResource GroupHeaderTextStyle}"/>
                </DataTemplate>
            </GroupStyle.HeaderTemplate>
            <GroupStyle.Panel>
                <ItemsPanelTemplate>
                    <VariableSizedWrapGrid/>
                </ItemsPanelTemplate>
            </GroupStyle.Panel>
        </GroupStyle>
    </GridView.GroupStyle>                
</GridView>
4

1 に答える 1

0

GridViewデフォルトでは、ItemsPanelTemplateを含む Border で構成される を使用しますWrapGrid

だから私は間違ったパネルをターゲットにしていました.これは私が使用した修正です:

<GridView.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
</GridView.ItemsPanel>

その理由は、WrapGrid が可変サイズではなく、最大のコレクションのサイズに固定されているためです。2 番目のグループ (1 アイテム) のサイズは最初の (5 アイテム) と同じでした。これが、コンテンツを超えて拡張された理由です。

于 2012-12-21T15:49:41.437 に答える