0

私は WinRT を初めて使用し、その下に多数のタイルを持つグループ見出しを持つ標準のグリッドビューを作成しようとしています。そのビットは簡単です。タイルのグリッドの下に、コンテナー スタイルを使用してフッターも追加できるように変更しようとしています。

    <GridView
        x:Name="itemGridView"
        AutomationProperties.AutomationId="ItemGridView"
        AutomationProperties.Name="Grouped Items"
        Margin="116,0,40,46"
        ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
        ItemTemplate="{StaticResource Project200x200ItemTemplate}"                
        SelectionMode="None"
        IsItemClickEnabled="True"
        ItemClick="ItemView_ItemClick">

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

        <GridView.GroupStyle>
            <GroupStyle>
                <GroupStyle.HeaderTemplate>
                    <DataTemplate>
                        <Grid Margin="1,0,0,6">
                            <Button
                                AutomationProperties.Name="Group Title"
                                Content="{Binding Name}"
                                Click="Header_Click"
                                Style="{StaticResource TextButtonStyle}" 
                                FontWeight="{Binding IsSelected, ConverterParameter=FontWeight, Converter={StaticResource BooleanToFontWeightConverter}}"
                               />
                        </Grid>
                    </DataTemplate>
                </GroupStyle.HeaderTemplate>
                <GroupStyle.Panel>                           
                    <ItemsPanelTemplate>
                        <VariableSizedWrapGrid Background="Red"  Orientation="Vertical" Margin="0,0,40,0" />
                    </ItemsPanelTemplate>
                </GroupStyle.Panel>

                <GroupStyle.ContainerStyle>
                    <Style TargetType="GroupItem">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate>
                                    <StackPanel>
                                        <ContentPresenter/>
                                        <ItemsPresenter/>
                                        <TextBlock Text="*** End of group ***"/>
                                    </StackPanel>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </GroupStyle.ContainerStyle>

            </GroupStyle>
        </GridView.GroupStyle>               
    </GridView>

これはほとんど機能しますが、コンテナー スタイルを追加した後、タイルのグリッドが表示されなくなります...グループ ヘッダーと「グループの終了」テキストブロックが表示されますが、タイル グリッドが失われました。

誰かが私が間違っていることを見つけることができますか...?

4

1 に答える 1

0

あなたは何を間違っていますか?VirtualizingStackPanel を対応する StackPanel に置き換えると、すべて正常に動作するか、Windows 7 で動作します (問題は Vista で発生します)。ところで。仮想化は、グループ化 (GroupStyle) を使用する TreeView や DataGrid などの階層オブジェクトでは機能しません。これを見てください。

于 2012-06-12T09:22:32.590 に答える