原文:自定义Behavior 实现Listbox自动滚动到选中项

blend为我们提供方便的behavior来扩展我们的控件,写好之后就可以在blend中方便的使用了。

下面是自定义的behavior来实现Listbox自动滚动到选中项

其中this.AssociatedObject为使用该行为的控件。

其中

OnAttached()和OnDetaching()为必须重写的内容,通常可以在OnAttched()里面添加事件处理程序,来达到拓展的目的。

public class AutoScrollBehavior : Behavior<ListBox>
    {
        protected override void OnAttached()
        {
            base.OnAttached();
            this.AssociatedObject.SelectionChanged += new SelectionChangedEventHandler(AssociatedObject_SelectionChanged);
        }
        void AssociatedObject_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (sender is ListBox)
            {
                ListBox listbox = (sender as ListBox);
                if (listbox.SelectedItem != null)
                {
                    listbox.Dispatcher.BeginInvoke((Action)delegate
                    {
                        listbox.UpdateLayout();
                        listbox.ScrollIntoView(listbox.SelectedItem);
                    });
                }
            }
        }
        protected override void OnDetaching()
        {
            base.OnDetaching();
            this.AssociatedObject.SelectionChanged -=
                new SelectionChangedEventHandler(AssociatedObject_SelectionChanged);
        }
    }

欢迎探讨WPF技术问题 QQ:281092346

自定义Behavior 实现Listbox自动滚动到选中项相关推荐

  1. 自定义灵活 自动滚动的Dialog

    效果图 一般的弹框很少显示列表数据的!这个是显示列表数据的Dialog弹框,如果显示的数据数超6条,就会自动滚动 喜欢就拿去用,下面直接上源码. 主页面MainActivity文件 import an ...

  2. 红橙Darren视频笔记 CoordinatorLayout:实现自定义behavior

    效果: 目标:利用CoordinatorLayout实现自定义behavior ,顶部的TitleBar和底部的ActionBar实现能够随着手势自由显示和隐藏 activity中使用了recycle ...

  3. 微信小程序 - 新闻动态 / 公告上下滚动列表(上下循环滚动,无限上下自动滚动列表)

    前言 本文实现了 无限上下自动滚动列表 组件,常见于新闻动态列表.公告等场景,可直接调用. 您可以自定义滚动间隔与显示多少个列表, 另外点击每项会触发事件,可用于跳转到详情页. 代码干净整洁,注释详细 ...

  4. Android开发——自定义炫酷PickerView惯性滚动魔改

    Android开发--自定义炫酷PickerView快速滚动魔改 最近由于课内压力的增加和安卓课设项目,故没有怎么刷acm题,基本上学校要训练也就去水一波,程序设计相关内容也鸽了. 由于从来没有做过开 ...

  5. ScrollView(RecyclerView等)为什么会自动滚动原理分析,还有阻止自动滑动的解决方...

    2019独角兽企业重金招聘Python工程师标准>>> 引言,有一天我在调试一个界面,xml布局里面包含Scroll View,里面嵌套了recyclerView的时候,界面一进去, ...

  6. android高仿天天动听,Android仿天天动听歌曲自动滚动view

    最近项目中要做一个类似天天动听歌曲自动滚动行数的效果.首先自己想了下Android要滚动的那就是scroller类或者scrollto.scrollby结合了,或者view.layout()方法,或者 ...

  7. php自动滚动到页尾,让DOM元素自动滚到视野内ScrollIntoView

    概述 项目中需要把一个DOM元素自动滚动到视野内,百思不得其解,最后再element库里面发现了这个方法,记录下来供以后开发时参考,相信对其他人也有用. 参考资料:element scroll-int ...

  8. layui totalRow 多层嵌套json_自定义 Behavior,实现嵌套滑动、平滑切换周月视图的日历...

    使用 CoordinateLayout 可以协调它的子布局,实现滑动效果的联动,它的滑动效果由 Behavior 实现.以前用过小米日历,对它滑动平滑切换日月视图的效果印象深刻.本文尝试用自定义 Be ...

  9. 从源码角度上探索AdapterViewFlipper怎么实现广告栏的垂直自动滚动

    一,从源码上认识AdapterViewFlipper 我不知道大家有没有跟我一样,看到别人的app一些比较好的交互时,总是好奇别人是怎么实现的,如果是换做自己,我哦该怎么实现.最近在做一个横向轮播的视 ...

  10. HTML怎么设置自动滚动的图片,转:HTML中让图片滚动的marquee标签的使用方法

    实例: 需要滚动的文字 需要滚动的文字 也可以程序代码 也可以是图片 说明: 1.中间的内容可以为 文字,图片,也可以是由程序生成的文字或图片 2.onMouseOut="this.star ...

最新文章

  1. 2016.3.2(String 类)
  2. 瞎说系列之Object.assign入门
  3. spring mvc 入门配置
  4. 关于Visual C#.NET数据库开发经典案例解析(附光盘两张)(珍藏版)—的读后感...
  5. Python--上下文管理器学习(11.3)
  6. 等高线地图_高中地理——每日讲1题(北美洲的气候、等高线的阅读)
  7. Windows Server 2008 R2 成功安装 Serv-U
  8. 终结VC2005分发包版本问题
  9. python表达式3and5_表达式 3 and 5 的值为____________。(5.0分)_学小易找答案
  10. c语言使用CodeBlocks软件,使用CodeBlocks学习C语言
  11. RestClient操作文档
  12. 【PR】调整音频的声音从大到小
  13. 高通SDX12:基于sgm4151x的充电IC代码架构
  14. (自)协方差矩阵与互协方差矩阵简介
  15. 《善数者成:大数据改变中国》读书笔记2
  16. capitalsquiz和capitalsquiz_answer,中国34个省、自治区、直辖市的省会等所在地,随机生成1个文件
  17. 邮箱被盗,受到网络钓鱼攻击,如何甄别规避?
  18. python中pass语句的出现是为了保持程序结构的完整性_pass语句的出现是为了保持程序结构的完整性。( )_学小易找答案...
  19. Flash拖拽元件的元件+元件的元件随鼠标移动:目的让元件的元件随着鼠标移动
  20. WIN8环境下PublicKeyToken=b77a5c561934e089”类型的权限已失败。

热门文章

  1. uni-app uniCloud 前端操作数据库 模糊查询
  2. React 通过style来设置背景图片。
  3. flush table mysql_MySQL flush table 导致的锁问题
  4. Laravel使用腾讯云COS服务
  5. PHP 过滤字符串特殊符号
  6. PAT (Advanced Level) Practice 1001 A+B Format (20分)
  7. OpenJDK8 JAVA应用窗口在不同缩放比例下的表现(Windows10)
  8. 糙哥出版本,脸都不去洗
  9. shell中find某个文件排除某个目录
  10. gstreamer的插件如何复制数据