[UWP控件备忘录]ListView

原创 2015年08月30日 14:47:14

ListView生成的VisualTree

ListView
    Border
        ScrollViewer
            Border
                Grid
                    ScrollContentPresenter
                        ItemsPresenter
                            ContentControl
                            ItemsStackPanel
                                ListViewItem
                                    ListViewItemPresenter
                                        -这里是Template内的内容
                                -其它列表项
                            ContentControl
                    VerticalScrollBar
                    HorizontalScrollBar
                    ScrollBarSeperator




代码获取ListViewItem内部控件

ListViewItem.Content返回的是ItemsSource里的项目, 而不是它下一层的ListViewItemPresenter控件
在这里用到

VisualTreeHelper.GetChild(DependencyObject reference, int childIndex);

用于获取reference下的第childIndex个控件

ListView.ContainerFromItem(object item);
ListView.ContainerFromIndex(int index);

以上两个方法用于获取ListView内部的ListViewItem
几个方法相结合跟据ListView的实际VisualTree就可以获取到相应的显示的控件



列表项横向填充

  • ListView的子项目默认是水平左对齐的,当Template内的控件需要右对齐时通常只对齐到ListViewItem实际宽度的右边,而不是ListView的右边
  • 当Template使用了Grid并且按照比例设置了列宽时,我们通常希望每个Item的每个列宽度都是相同的
<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

HorizontalContentAlignment

版权声明:本文为博主原创文章,未经博主允许不得转载。

【万里征程——Windows App开发】ListView&GridView之分组

本文承接【万里征程——Windows App开发】ListView&GridView之添加数据。在上一篇中我们已经了解了怎样将数据绑定到ListView或GridView,但既然要用到这两个控件往往是...
  • NoMasp
  • NoMasp
  • 2015年04月07日 22:14
  • 5800

win10 uwp 列表模板选择器

本文主要讲ListView等列表可以根据内容不同,使用不同模板的列表模板选择器,DataTemplateSelector。 如果在 UWP 需要定义某些列的显示和其他列不同,或者某些行的显示和其他行...
  • lindexi_gd
  • lindexi_gd
  • 2017年09月30日 20:37
  • 2071

UWP入门(十二)--数据绑定用法

主要几个元素: Template DataTemplate ItemSource 数据绑定是一个数据提取的方法,能使数据和UI上的控件紧密相连,下面的Demo是这样的: 有许多书的集合,书 类中...
  • u011033906
  • u011033906
  • 2017年03月23日 23:42
  • 1664

Android ListView的Item中的按钮Button和ImageButton共存、抢夺焦点问题

一、问题 公司App要求实现和淘宝类似的功能:从淘宝app某个商品详情点击聊天进入聊天界面,会带入商品信息。点击“发送宝贝链接”按钮,发送一条消息(宝贝链接)给卖家。如图: 在开发中遇到的问题就...
  • luohong722
  • luohong722
  • 2014年12月31日 15:12
  • 4572

UWP开发笔记——嵌套式页面的实现

绪论 UWP开发中,Page是最常用的Control之一,通常情况下,在开发的application中,每一个页面就是一个Page。有时候,为了开发整合度更高,UI表现更为一致的UI,开发者需要把...
  • igweyou
  • igweyou
  • 2016年01月28日 10:37
  • 1115

仿微信ListView item左右滑动

已经在各大论坛潜水两年多时间了,看了无数博客,有的博客写的确实不错,但是发现转载的太多了!本想写点东西来记录自己的成长,由于比较懒,没坚持下去!最近做项目发现之前的好东西都忘记了!哎,不说了,以后还是...
  • wuhezhi
  • wuhezhi
  • 2014年04月01日 22:26
  • 1300

【UWP通用应用开发】应用布局、基本导航

简单示例看页面布局和导航首先按照上一篇博客中的顺序来新建一个项目。新建好之后就点开MainPage.xaml开始敲代码了。 ...
  • NoMasp
  • NoMasp
  • 2015年12月10日 17:41
  • 4370

win10 uwp 右击浮出窗在点击位置

本文主要让MenuFlyout出现在我们右击位置。我们一般使用的MenuFlyout写在前台,写在Button里面,但是可能我们的MenuFlyout显示的位置和我们想要的不一样。通过使用后台写Sho...
  • lindexi_gd
  • lindexi_gd
  • 2016年10月09日 09:28
  • 1894

Win10之UWP的数据存储

我们知道通常我们开发的时候都要考虑把用户的数据存储到一个数据库里面,而这个数据库则考虑到了整个应用的性能上面,这里我们不考虑SQL server的数据库,我们考虑较为轻量的数据库进行存储。首先我们新建...
  • zhongyanfu0
  • zhongyanfu0
  • 2016年07月13日 17:12
  • 1361

Win10 UWP 开发系列:使用SQLite

在App开发过程中,肯定需要有一些数据要存储在本地,简单的配置可以序列化后存成文件,比如LocalSettings的方式,或保存在独立存储中。但如果数据多的话,还是需要本地数据库的支持。在UWP开发中...
  • igweyou
  • igweyou
  • 2015年12月31日 10:16
  • 1197
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[UWP控件备忘录]ListView
举报原因:
原因补充:

(最多只允许输入30个字)