首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WPF 如何判断一个控件在滚动条的里面是用户可见

昨天星期八再娶你 大佬问我如何判断在滚动条内可以看到某个元素,他需要在滚动条里面放一个视频播放器,在用户看不到这个播放器的时候自动停下这个播放器 在 WPF 可以通过 ScrollChanged 拿到当前的滚动到哪同时拿到滚动条可见的宽度和高度...在 ScrollChangedEventArgs 提供了多个属性用于拿到当前的滚动条的可见的宽度和高度,滚动条的水平移动和垂直的移动,具体请看下图 在用户修改外层控件的宽度或高度让滚动条的高度或宽度进行修改的时候...ScrollChanged="ScrollViewer_OnScrollChanged"> ...> ScrollViewer> 我需要在歪楼的文本被用户看到的时候输出,于是我就在后台代码通过本文上面提供的方法拿到这个元素的矩形判断...private void ScrollViewer_OnScrollChanged(object sender, ScrollChangedEventArgs e) {

95220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    XAML中的响应式布局技术

    在针对特定屏幕宽度优化应用 UI 时,我们将此称为创建响应式设计。WPF设计之初响应式设计的概念并不流行,那时候大部分网页设计师都按着宽度960像素的标准设计。...以我的经验来说以下这些做法可以使UI有效应对分辨率改变: 使用相对定位代替决定定位 使用*和Auto代替具体尺寸(除了间距) 使用WrapPanel代替StackPanel 不要忘记使用ScrollViewer...而且和网页不同,WPF窗体默认没有提供ScrollViewer,所以千万不能忘记。在桌面客户端合理使用以上技术可以避免客户投诉。但UWP主打跨平台,它需要更先进(或者说,更激进)的技术。 2....在下面的示例中StackPanel默认使用垂直排列,当页面的宽度超过720像素时改为水平排列。...ViewBox ViewBox可以根据自身大小放大或缩小它的Content元素,某些情况下它是WPF和UWP平台的终极响应式设计解决方案,因为WPF/UWP元素都是矢量元素所以大部分元素都可以无损缩放(

    2.3K10

    WPF MVVM 弹框之等待框

    WPF MVVM 弹框之等待框 目录 一、效果 二、弹框主体改造 三、等待动画用户控件 四、弹窗 ViewModel 和帮助类的改造 五、使用方法和代码地址 独立观察员 2020年10月13日 之前写过一篇...《WPF MVVM 模式下的弹窗》,里面实现了确认框和消息框,经过一段时间的演化,目前又新增了可显示自定义内容的弹框、可进行信息录入的弹框、以及本文将要介绍的加载等待框。...> 最外层使用 ScrollViewer 包裹,如果内容过多则可滚动。...Grid 的宽度的一半,即每列宽度的一半,这个平分的操作是通过转换器 DivideConverter 实现的,具体可下载代码查看。...然后,高度绑定宽度,这样就是正方形了。最后再设置圆角,就成圆形了。

    2.5K20

    win10 uwp 如何判断一个控件在滚动条的里面是用户可见

    昨天星期八再娶你 大佬问我如何判断在滚动条内可以看到某个元素,他需要在滚动条里面放一个视频播放器,在用户看不到这个播放器的时候自动停下这个播放器 在 UWP 的判断会比在 WPF 中复杂一些,我写过WPF...事件,但是这个事件和 WPF 的触发不相同的在于,如果我有外层的控件修改了滚动条的大小,不会触发这个事件。...的 TranslatePoint 方法相同 判断滚动条可见大小不能从方法的参数拿到,需要直接拿滚动条控件,这样会存在一个坑在于时机的问题,和 WPF 不相同,此时的事件很难做到精确拿到滚动条的当前的大小和移动距离...如果想判断用户可以完全看到这个控件需要再写一个 Contain 方法 private void CheckControlShow() { UIElement control = TextBlock..., ScrollViewer.VerticalOffset), new Size(ScrollViewer.ViewportWidth, ScrollViewer.ViewportHeight));

    93620

    请来围观:WPF开发的微信客户端!!!

    WEB版微信协议部分功能分析[1]、【完全开源】微信客户端.NET版[2] 尤其是周见智[3]大神的DEMO,因为好多和微信的服务端交互,都借鉴了大神的源码,帮助巨大,可以说我相当于做了一个翻版,只是用WPF...微信分为两个部分,一个是登录,一个是主体,基于此,WPF也主要是这两个窗体来实现。..." Value="Hidden"/> ScrollViewer.VerticalScrollBarVisibility" Value="Hidden"/>...ScrollViewer.CanContentScroll" Value="true"/> ScrollViewer.PanningMode...三、总结 做WPF微信DEMO,用到了转换器,转换颜色,转换显隐;重写了控件的样式,例如Button、RadioButton、ListBox;然后MVVM模式下,Bind的用法,感觉这个DEOM对于初学者来说应该会有很大的帮助

    1.8K30
    领券