locked
ListView或者GridView怎么条item显示多列 RRS feed

  • 问题

  • 新学WP开发,自己想做个小项目练练手,现在遇到了一个问题差不多是卡住了, 自己想了很多办法也有没有解决    有没有办法一行显示多列

    就像用GRID布局一样显示多列,第一列显示序号  第二列显示歌名,第三列显示歌曲的时长 

    或者我该用其它的数据显示控件不该用gridView

            <GridView x:Name="list">
                <GridViewItem>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="01" Margin="0,0,5,0" />
                        <TextBlock Text="以后的以后"/>
                        <TextBlock Text="04:15:00"/>
                    </StackPanel>
                </GridViewItem>
            </GridView>

    2015年5月29日 10:31

答案

  • 你好 Dengguibao,

    的确会有多个Grid产生,但是这个是意料中的。

    一般如果会产生性能方面的问题,是因为数据太多或者页面上面的展示的UI太多造成的,这个时候需要UI虚拟化或者数据虚拟化:将虚拟化与列表或网格一起使用

    --James


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年6月1日 3:26
    版主

全部回复

  • 在 ItemTemplate 屬性中建立DataTemplate 然後用綁定資料的方式

    https://msdn.microsoft.com/zh-cn/library/windows/apps/jj207023%28v=vs.105%29.aspx

    這文章裡有個示例 "使用数据模板显示控件中的项目"


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2015年5月30日 10:24
  • 我会数据绑定  关键是我不会布局  让一条ITEM显示三列数据  所以我上面的例子是个静态数据  如果静态数据布局弄好了   那就可以直接用DataTemplate就搞定了    

    所以我请教的问题也是布局方面的

    2015年5月30日 13:11
  • 一行多列, 用 Grid 取代 StackPanel 比較合適吧. 而且應該用 ListView 會好一點

    你是想做這樣的效果嗎 ?

          <ListView>
                <ListView.Resources >
                    <Style TargetType="TextBlock" >
                        <Setter Property="FontSize" Value="18"/>
                    </Style>
                </ListView.Resources>
                <ListView.ItemContainerStyle >
                    <Style TargetType="ListViewItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    </Style>
                </ListView.ItemContainerStyle>
                <ListViewItem >
                    <Grid>
                        <Grid.ColumnDefinitions >
                            <ColumnDefinition Width="30"/>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="90"/>
                        </Grid.ColumnDefinitions>
                        <TextBlock Grid.Column="0" Text="1"/>
                        <TextBlock Grid.Column="1" Text="歌曲名稱"/>
                        <TextBlock Grid.Column="2" Text="00:09:18" HorizontalAlignment="Right" />
                    </Grid>
                </ListViewItem>             
            </ListView>


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


    2015年5月30日 19:18
  • 基本是这个效果   我最初也是这么想的 

    这只是布局静态效果 那如果数据源有很多条记录  那么是必然会用到DATATEMPLATE  数据绑定

    我不明白XAML编译后  会不会有N个GRID  如果有N个Grid 那么资源和能效方面是否有问题

    2015年5月31日 12:19
  • 你好 Dengguibao,

    的确会有多个Grid产生,但是这个是意料中的。

    一般如果会产生性能方面的问题,是因为数据太多或者页面上面的展示的UI太多造成的,这个时候需要UI虚拟化或者数据虚拟化:将虚拟化与列表或网格一起使用

    --James


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年6月1日 3:26
    版主