none
GridView显示绑定问题 RRS feed

  • 问题

  • 有个需求,需要分组显示信息,每个组的信息数据内容相似,但不同组的内容数据差异很大,而组与组之间的表现形式差不多,都是一组方块,方块上面显示信息!如何定义模版,还是说需要多个GridView?
    2012年8月14日 13:30

答案

全部回复

  • 可以用同一个GridView, 结合ItemTemplateSelector 来根据Item来选择不同的ItemTemplate。

    不过如果不同种类内容的ItemTemplate很多,那么我的建议还是用多个GridView进行分组好了。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us


    2012年8月15日 5:10
    版主
  • 可以用同一个GridView, 结合ItemTemplateSelector 来根据Item来选择不同的ItemTemplate。

    不过如果不同种类内容的ItemTemplate很多,那么我的建议还是用多个GridView进行分组好了。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us


    你好,我的Demo采用的是单个GridView,多Group方式,想实现的效果是多Group 之间的项紧密排列!

    借鉴了你在这个帖子http://social.msdn.microsoft.com/Forums/zh-CN/metroappzhcn/thread/aaeaee49-0110-489f-adb5-27fc3ec5174f中的方式实现了Group内部Items之间的紧密排列,但是却实现不了Group之间的紧密排列,所有Group 的宽度始终等于第一个Group 的宽度,GridView.ItemsPanel与GroupStyle..ItemsPane的模版都是用的是VariableSizedWrapGrid!这样导致如果第一个Group 的数据很多,宽度大的话,后面的Group之间有很大一块距离!而如果第一个Group 数据少,宽度小的话,后面的Group 有可能把前面的项目遮挡了!还望指点!

    • 已编辑 iWillen 2012年8月15日 9:39 描述更具体
    2012年8月15日 9:33
  • 你新建一个Grid App的模板项目,他的首页就是单GridView 多Group。

                <GridView.GroupStyle>
                    <GroupStyle>
                        <GroupStyle.HeaderTemplate>
                            <DataTemplate>
                                <Grid Margin="1,0,0,6">
                                  ...
                                </Grid>
                            </DataTemplate>
                        </GroupStyle.HeaderTemplate>
                        <GroupStyle.Panel>
                            <ItemsPanelTemplate>
                                <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/>
                            </ItemsPanelTemplate>
                        </GroupStyle.Panel>
                    </GroupStyle>


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年8月16日 6:00
    版主
  • 你新建一个Grid App的模板项目,他的首页就是单GridView 多Group。

                <GridView.GroupStyle>
                    <GroupStyle>
                        <GroupStyle.HeaderTemplate>
                            <DataTemplate>
                                <Grid Margin="1,0,0,6">
                                  ...
                                </Grid>
                            </DataTemplate>
                        </GroupStyle.HeaderTemplate>
                        <GroupStyle.Panel>
                            <ItemsPanelTemplate>
                                <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/>
                            </ItemsPanelTemplate>
                        </GroupStyle.Panel>
                    </GroupStyle>


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us


    当子项固定模版的时候是可以做到紧密排列,但是想项 Windows 8 开始页面一样模板不一样却却不可以啊!
    • 已编辑 iWillen 2012年8月17日 5:06 详细描述
    2012年8月17日 4:19
  • 2012年8月22日 5:45
    版主