Avalonia跨平台入门第二十一篇之玩耍CEF

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板、控件的拖放效果、控件的置顶和置底、控件的锁定、自定义Window样式、动画效果、Expander控件、ListBox折叠列表、聊天窗口、ListBox图片消息、窗口抖动、语音发送、语音播放、语音播放问题;今晚接着研究CEF去加载网页,下面是加载高德地图效果:

f3fc0b040000274d3ab95b14d91cce67.gif

直接上GitHub的地址:

https://github.com/CefNet/CefNet

1、在入口进行初始化设置:

var settings = new CefSettings();
settings.MultiThreadedMessageLoop = !externalMessagePump;
settings.ExternalMessagePump = externalMessagePump;
settings.NoSandbox = true;
settings.WindowlessRenderingEnabled = true;
settings.LocalesDirPath = Path.Combine(cefPath, "Resources", "locales");
settings.ResourcesDirPath = Path.Combine(cefPath, "Resources");
settings.LogSeverity = CefLogSeverity.Warning;
settings.IgnoreCertificateErrors = true;
settings.UncaughtExceptionStackSize = 8;

2、我直接后台加载测试的:

private void GoToLoadMap() 
{string initUrl = "file:///" + AppDomain.CurrentDomain.BaseDirectory + @"Maps/HeatMap.html";WebView webView = new WebView();webView.InitialUrl = initUrl;RootGrid.Children.Add(webView);
}

3、去下载Chromium Embedded Framework:

https://cef-builds.spotifycdn.com/index.html

4、关于配置

Extract all files into the cef/ directory.
Copy cef/Resources/icudtl.dat into cef/Release/

最终简单的效果先这样吧a8e10bd25030e482a1477322d6fca8fd.png;以后有时间的话,可以再去摸索一下更复杂的效果0b599caffbac2d03c52a47420c8b5d39.png;编程不息、Bug不止、无Bug、无生活6eb77a6446ff6d3bc2e9b75ff76d8cbd.png;改bug的冷静、编码的激情、完成后的喜悦、挖坑的激动 、填坑的兴奋;这也许就是屌丝程序员的乐趣吧;今天就到这里吧;希望自己有动力一步一步坚持下去;生命不息,代码不止;大家抽空可以看看今天分享的效果,有好的意见和想法,可以在留言板随意留言;我看到后会第一时间回复大家,多谢大家的一直默默的关注和支持!如果觉得不错,那就伸出您的小手点个赞并关注一下,多谢您的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang实现自定义驱动的Cache

近期在写 ActivedRouter项目的时候需求一个缓存模型,要求缓存模型支持不同驱动,例如:memory、file、redis、mysql,实现思路代码如下: cache.go文件,定义缓存对外接口 //ActivedRouter //Author:usher.yue //Amail:usher.yuegmail.com //TencentQQ:422366…

【自定义控件】c#winform自定义控件实现标签控件

介绍首先我们设计这个控件的时候要明白控件是怎样交互的, 熟悉b站的小伙伴应该知道 ,我们上传视频的时候会去选择标签 ,我们输入标签文本 按下回车就代表该标签已经添加成功了,效果图如下!控件拆分我们首先拆分一下该控…

ASP.NET 使用Ajax(转)

之前在Ajax初步理解中介绍了对Ajax的初步理解,本文将介绍在ASP.NET中如何方便使用Ajax,第一种当然是使用jQuery的ajax,功能强大而且操作简单方便,第二种是使用.NET封装好的ScriptManager。 $.ajax向普通页面发送get请求 这是最简单…

fir.im 持续集成技术实践

互联网时代,人人都在追求产品的快速响应、快速迭代和快速验证。不论是创业团队还是大中型企业,都在探索属于自己的敏捷开发、持续交付之道。fir.im 团队也在全面实施敏捷,并推出新持续集成服务— flow.ci ,以帮助企业将开发测试流…

宇宙最強的IDE - Visual Studio 25岁生日快乐

每位开发者从入门开始或多或少都会接触过 Visual Studio , 现今的 Visual Studio 除了支持传统的 C , C# , Visual Basic.NET ,F# 的编程语言外,还可以做 Python , Node.js 的开发。在应用场景上也从单一的桌面应用,延伸到 Web , …

有没有一段代码,让你觉得人类的智慧也可以璀璨无比?【转】

转自:https://www.zhihu.com/question/30262900 作者:烧茄子链接:https://www.zhihu.com/question/30262900/answer/48741026来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。当然是这个…

如何使用 abp 创建 module 并应用单独的数据库迁移

最近在学习使用 abp 来做一些小程序。abp 是一个功能丰富的 .NET 开发框架,完全开源,遵循 DDD(领域驱动)设计模式,支持微服务开发,集成了 Identity、角色权限、本地化、动态代理、后台任务、分布式消息、审…

MinGW安装和使用基础教程

MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C、ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便。MinGW提供了一套完整的开源编译工具集,以适合Windows平台应用开发,且不依…

px,em,rem,vw单位在网页和移动端的应用

px: 是网页设计中最常用的单位,然而1px到底是多大长,恐怕没有人能回答上来 它用来表示屏幕设备物理上能显示的最小的一个点,这个点不是固定宽度的,不同设备上点的长度、比例有可能会不同。 假设:你现在用的…

cs-Panination

ylbtech-Unitity: cs-PaninationPager.cs IPagingOption.cs IPagedList.cs PagingOption.cs PagedList.cs PagingExtensions.cs 1.A,效果图返回顶部 1.B,源代码返回顶部1.B.1,Pager.cs using System; using System.Collections.Generic; using System.Linq; using System.Text…

SignalR的使用

什么是 SignalR?ASP.NET Core SignalR 是一个开放源代码库,可用于简化向应用添加实时 Web 功能。实时 Web 功能使服务器端代码能够将内容推送到客户端。适合 SignalR 的候选项:需要从服务器进行高频率更新的应用。示例包括游戏、社交网络、投…

NHibernate之旅(7):初探NHibernate中的并发控制

本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency)乐观并发控制(Optimistic Concurrency)NHibernate支持乐观并发控制实例分析结语什么是并发控制? 当很多人试图同一时候改动数据库中的数据时,必须实现一个控制系统&#xff0…

期望DP

期望DP的一般做法是从末状态開始递推: Problem DescriptionAkemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl).Homura wants to help her friend Madoka save the world. But because of the plot of the Boss Incubator, she is trapped in a labyrinth …

神奇的[Caller*]属性

前言上次,我们《使用 CallerArgumentExpression 检查弃元参数》,它实际是利用编译器编译时将变量名称传入。其实,.NET中提供了多个[Caller*]属性,帮助我们轻松获取调用者信息。CallerFilePathAttribute允许获取包含调用方的源文件…

java dateTime + long

2019独角兽企业重金招聘Python工程师标准>>> public static void main(String[] args) throws Exception{SimpleDateFormat sdfnew SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // long timeStartsdf.parse("2011-09-20 12:30:45").getTime();l…

.NET Core中异常过滤器ExceptionFilter的使用介绍

介绍实现需要继承IExceptionFilter 或 IAsyncExceptionFilter。可用于实现常见的错误处理策略。使用场景首先讲一下我们为什么要使用异常过滤器 ,如果业务场景复杂,只使用HttpStatusCode,抛出异常后,后期要加很多字段来描述。那么这种就比较不…

程序一启动检查网络,如果没有网络就退出程序

转载于:https://www.cnblogs.com/songxing10000/p/4823812.html

看小说的这些年

从大一开始,就开始看起了小说,不是那种名著类型,而是快餐小说,玄幻、都市、言情、科幻,什么都会看,因为看多了,就会发现,已经没什么可以看的。 谈起快餐小说,已经有很多被…

COMA(一): Learning to Communicate with Deep Multi-Agent Reinforcement Learning 论文讲解

Learning to Communicate with Deep Multi-Agent Reinforcement Learning 论文讲解 论文链接:https://papers.nips.cc/paper/6042-learning-to-communicate-with-deep-multi-agent-reinforcement-learning.pdf (这篇论文是COMA三部曲中的第&#xff08…

C和指针之指针数组和指向数组的指针

1、指针数组 定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义int *p[10]; 2、指向数组的指针 定义一个数组指针,该指针指向含10个元素的一维数组(数组中每个元素是int型)int (*p…