zoukankan      html  css  js  c++  java
  • WPF 解决内置谷歌浏览器(Cef.ChromiumWebBrowser)在触摸屏无法进行滚动的问题

    1.问题描述:

      最近在WPF的项目中,需要在控件中嵌套可以浏览特定网页的内容,所以使用了 Cef.ChromiumWebBrowser来解决问题。在执行项目的过程中,主要碰到的问题有:

      1.1 当把项目拷贝到其他可触摸使用的显示器上面时,会导致无法对界面进行滚动,只能通过滚动界面上的滚动条对界面进行滚动。

    2.解决方法:

      搜索了大量的资料,解决此问题目前有以下两种解决方案:

      2.1 设置触摸屏相应的触摸事件,通过触摸事件改变的坐标的偏移量,再对界面执行相应偏移量的滚动。

          使用此方法,会导致当你在界面滑动的时候,会将当前界面的部分内容更改为选中状态,暂时没有找到可去除选中内容的方法,故采用另一种方法实现。

      2.2 在界面添加”向下滚动“以及向上滚动两个按钮,当点击”向下滚动“按钮的时候,当前界面向下滚动指定的偏移量,偏移量可自行设置,我这里设置的偏移量为 100,实现界面进行滚动的方式也很简单,只需要在当前界面异步调用自定义的脚本语言即可。如下所示(表示界面向下滚动100的偏移量):

        ChromiumWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("window.scrollBy(0,100);");

    3.感悟:

      因为最近在做此类型相关的内容,也是找了很久的资料,才确定最终的解决方法,在网上也没有统一的解决方案,所以写了相应的内容,希望下一个和我一样的人能够早些解决此类问题,哈哈。

    ============== 转载请备注出处 ================================

  • 相关阅读:
    双系统卸载linux和装双系统的方法
    linux中使用vim编译C++程序
    存储器管理之页面置换算法
    Python中open文件的各种打开模式
    RAL调用
    分布式系统事务一致性解决方案
    消息队列设计
    nmq消息队列解析
    分布式session的实现
    分布式系统常用思想和技术总结 (入门很清楚)
  • 原文地址:https://www.cnblogs.com/HGSJJ/p/HGSJJ.html
Copyright © 2011-2022 走看看