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.感悟:

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

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

  • 相关阅读:
    BZOJ 2069 POI2004 ZAW 堆优化Dijkstra
    浏览器大小屏适配的方法
    编译性语言&解释性语言
    ubuntu 查看网卡 数据包处理 速度
    使用Newtonsoft JsonConvert反序列化Json数据到DataTable
    easyUI datagrid view扩展
    easyUI layout 中使用tabs+iframe解决请求两次方法
    oracle自定义判断数据是否为数值函数
    easyUI datagrid editor扩展dialog
    JavaScript格式化日期
  • 原文地址:https://www.cnblogs.com/HGSJJ/p/HGSJJ.html
Copyright © 2011-2022 走看看