首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinRT ControlTemplate ItemsPanel

WinRT ControlTemplate ItemsPanel
EN

Stack Overflow用户
提问于 2012-05-31 06:37:45
回答 1查看 1.5K关注 0票数 0

我是WinRT的新手,我正在尝试创建一个标准的网格视图,它有一个组标题,下面有一些磁贴。这一点很简单。我正在尝试修改它,以便在tiles的网格下也可以使用containers样式添加页脚:

代码语言:javascript
复制
    <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>

这几乎可以工作,但在添加容器样式后,磁贴的网格不再显示...组标题和'End of group‘文本块正在显示,但我丢失了磁贴网格。

有人能发现我做错了什么吗...?

EN

回答 1

Stack Overflow用户

发布于 2012-06-12 17:22:33

你做错了什么?用对应的StackPanel替换VirtualizingStackPanel,一切都会正常工作,或者在Windows7上运行(问题发生在Vista上)。顺便说一句。虚拟化不适用于分层对象,如使用分组(GroupStyle)的TreeView或DataGrid。在this上看一看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10825265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档