WPF显示html的几种方法

原文:WPF显示html的几种方法

客户希望系统在一些特定的条件下,界面上能显示用户自定义的格式和内容,格式和内容通过html指定。

基本上在wpf中显示html有以下四种方法。

1.       Wpf Frame control

this.frame1.Navigate(uri);

this.frame1.Source = uri;

无法直接指定html内容。

2.       Wpf WebBrowser control

this.webBrowser1.Navigate(source);

this.webBrowser1.NavigateToStream(stream);

this.webBrowser1.NavigateToString(html);

this.webBrowser1.Source = uri;

NavigateToString可直接处理html内容的字符串,但不幸是方法而不是属性。

3.       使用Winform的webBrowser control

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/feab32d0-2d50-43e0-939a-7b20db7a4b54/

winform的webBrowser还是比较好用的,但是在wpf下需要引用System.Windows.Forms.dll and WindowsFormsIntegration.dll。

4.       将html转换成FlowDocument

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/9f0611de-9e7c-4a67-bc07-406844413e48/

这种办法太麻烦了

以上这4种方法都无法在xaml中直接处理,看来,如果仅仅是为了让用户能自定义界面,还是用自定义template的方法比较合适。

时间: 2024-10-16 15:53:56

WPF显示html的几种方法的相关文章

WPF多线程UI更新——两种方法

WPF多线程UI更新--两种方法 前言 在WPF中,在使用多线程在后台进行计算限制的异步操作的时候,如果在后台线程中对UI进行了修改,则会出现一个错误:(调用线程无法访问此对象,因为另一个线程拥有该对象.)这是很常见的一个错误,一不小心就会有这个现象.在WPF中,如果不是用多线程的话,例如单线程应用程序,就是说代码一路过去都在GUI线程运行,可以随意更新任何东西,包括UI对象.但是使用多线程来更新UI就可能会出现以上所说问题,怎么解决?本文章提供两个方法:Dispatcher(大部分人使用),T

Android TextView里直接显示图片的三种方法

方法一:重写TextView的onDraw方法,也挺直观就是不太好控制显示完图片后再显示字体所占空间的位置关系.一般如果字体是在图片上重叠的推荐这样写.时间关系,这个不付源码了. 方法二:利用TextView支持部分Html的特性,直接用api赋图片.代码如下: //第一种方法在TextView中显示图片 String html = "<img src='" + R.drawable.circle + "'/>"; ImageGetter imgGett

解决osgEarth中文显示乱码的几种方法

解决osgEarth中文显示乱码的几种方法 在此感谢那些在路上那个帮助过别人的朋友,谢谢. 方法一: 通过自己写函数转换类型. 下面这三个函数先复制过去吧. void unicodeToUTF8(const std::wstring &src, std::string& result) { int n = WideCharToMultiByte( CP_UTF8, 0, src.c_str(), -1, 0, 0, 0, 0 ); result.resize(n); ::WideCharT

DataGridView显示数据的两种方法

1.简单介绍 DataGridView空间是我们常用的显示数据的控件,它有极高的可配置性和可扩展性. 2.显示数据 DataGridView显示数据一般我们常用的有两种方法,一种是直接设置DataSoure属性就可以绑定数据.此方法不需要写任何代码操作比较简单,但是它显示出来的是整张表的数据.如果整一表数据比较多,而且我们并不需要所有的数据的情况下,我们就应该考虑第二种方法了.通过写代码连接数据库并从数据库中读取数据,最后将返回的数据传给DataGridView.这种方法貌似比较复杂,但是它只显

jquery 点击显示隐藏的三种方法

jquery点击显示隐藏的三种方法,从复杂到简单.使用jquery需要引用jquery库,如右所示<script src="jquery-1.11.3.min.js"type="text/javascript"></script>. 旁边按钮随着收缩展开发生状态变化,展开+变—,收缩—变+. 收缩效果: 展开效果: 一.HTML结构(盗用网上的) <body> <!-- 收缩展开效果 --><li class=&

汇编:有关在屏幕区显示字符的四种方法

李忠老师的<x86汇编语言:从实模式到保护模式>中第五章到第七章的部分,每一章在讲述知识点的同时,分别使用了三种不同的显示字符的方法,加上调用BIOS的10h中 断的方法,这里做出一次简单梳理: 一:第五章,最基础的直接用mov 的方法 代码如下: 1 ;代码清单5-1 2 ;文件名:c05_mbr.asm 3 ;文件说明:硬盘主引导扇区代码 4 ;创建日期:2011-3-31 21:15 5 6 mov ax,0xb800 ;指向文本模式的显示缓冲区 7 mov es,ax 8 9 ;以下显

python 读取并显示图片的两种方法

在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. 显示图片 import matplotlib.pyplot as plt # plt 用于显示图片 import matplotlib.image as mpimg # mpimg 用于读取图片 import numpy as np lena = mpimg.imread('lena.png')

javascript 显示对象的三种方法

以前发了个调试javascript时显示复杂对象的方法,有同学说为什么不用JSON.stringify(obj) 呢,有同学说用console.log(obj),为搞清楚这个问题,我试验了下这3个方法并做了比较,比较结果见图,代码在下面. 有几点说明下:1.从 ECMAScript 5th Edition 开始,JavaScript 内建了 JSON 对象,不用引js文件.2.alert(JSON.stringify(window)),会报TypeError: cyclic object val

树莓派linux系统中显示隐藏文件的几种方法

一.如果直接使用可视化文件管理器 1.直接点击右键,直接选择"显示隐藏文件"选项. 2.快捷键 CTRL + H 二.在终端命令行模式下 可以使用ls命令的-a参数来显示隐藏的文件及文件夹. ls -a 原文地址:https://www.cnblogs.com/jackieL/p/9733949.html