点击或拖拽改变大小

HtmlContainerInt 类

低层次封装Html渲染容器
允许 html 布局和呈现协会向实际控制人,没有那些允许处理在任何图形对象上的 html 呈现。
使用此类将需要客户端处理所有传播的鼠标/键盘事件,布局/绘制调用,滚动偏移量, 位置/大小/矩形处理和用户界面刷新请求。
继承层次
SystemObject
  DSkin.Html.CoreHtmlContainerInt

命名空间:  DSkin.Html.Core
程序集:  DSkin (在 DSkin.dll 中) 版本:16.6.3.22
语法
C#
public sealed class HtmlContainerInt

HtmlContainerInt 类型公开以下成员。

构造函数
  名称说明
公共方法HtmlContainerInt(RAdapter)
Init.
公共方法HtmlContainerInt(RAdapter, RControl)
初始化,如果需要用到鼠标等事件就需要RControl
Top
属性
  名称说明
公共属性ActualSize
The actual size of the rendered html (after layout)
公共属性AvoidAsyncImagesLoading
Gets or sets a value indicating if image asynchronous loading should be avoided (default - false).
True - images are loaded synchronously during html parsing.
False - images are loaded asynchronously to html parsing when downloaded from URL or loaded from disk.
公共属性AvoidGeometryAntialias
Gets or sets a value indicating if anti-aliasing should be avoided for geometry like backgrounds and borders (default - false).
公共属性AvoidImagesLateLoading
Gets or sets a value indicating if image loading only when visible should be avoided (default - false).
True - images are loaded as soon as the html is parsed.
False - images that are not visible because of scroll location are not loaded until they are scrolled to.
公共属性Control
关联的控件
公共属性CssData
the parsed stylesheet data used for handling the html
公共属性IsContextMenuEnabled
Is the build-in context menu enabled and will be shown on mouse right click (default - true)
公共属性IsSelectionEnabled
Is content selection is enabled for the rendered html (default - true).
If set to 'false' the rendered html will be static only with ability to click on links.
公共属性Location
The top-left most location of the rendered html.
This will offset the top-left corner of the rendered html.
公共属性MaxSize
The max width and height of the rendered html.
The max width will effect the html layout wrapping lines, resize images and tables where possible.
The max height does NOT effect layout, but will not render outside it (clip).
ActualSize can be exceed the max size by layout restrictions (unwrapable line, set image size, etc.).
Set zero for unlimited (width\height separately).
公共属性Root
根元素
公共属性代码示例ScrollOffset
The scroll offset of the html.
This will adjust the rendered html by the given offset so the content will be "scrolled".
公共属性SelectedHtml
Copy the currently selected html segment with style.
公共属性SelectedText
Get the currently selected text segment in the html.
公共属性SelectionHandler
Top
方法
  名称说明
公共方法Clear
Clear the content of the HTML container releasing any resources used to render previously existing content.
公共方法ClearSelection
Clear the current selection.
公共方法Dispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
公共方法GetAttributeAt
Get attribute value of element at the given x,y location by given key.
If more than one element exist with the attribute at the location the inner most is returned.
公共方法GetElementRectangle
Get the rectangle of html element as calculated by html layout.
Element if found by id (id attribute on the html element).
Note: to get the screen rectangle you need to adjust by the hosting control.
公共方法GetHtml
Get html from the current DOM tree with style if requested.
公共方法GetLinkAt
Get css link href at the given x,y location.
公共方法GetLinks
Get all the links in the HTML with the element rectangle and href data.
公共方法HandleKeyDown
Handle key down event for selection and copy.
公共方法HandleMouseDoubleClick
Handle mouse double click to select word under the mouse.
公共方法HandleMouseDown
Handle mouse down to handle selection.
公共方法HandleMouseEnter
公共方法HandleMouseLeave
Handle mouse leave to handle hover cursor.
公共方法HandleMouseMove
Handle mouse move to handle hover cursor and text selection.
公共方法HandleMouseUp
Handle mouse up to handle selection and link click.
公共方法PerformLayout
Measures the bounds of box and children, recursively.
公共方法PerformPaint
Render the html using the given device.
公共方法RequestRefresh
Request invalidation and re-layout of the control hosting the renderer.
公共方法SetHtml
Init with optional document and stylesheet.
Top
事件
  名称说明
公共事件ImageLoad
Raised when an image is about to be loaded by file path or URI.
This event allows to provide the image manually, if not handled the image will be loaded from file or download from URI.
公共事件LinkClicked
Raised when the user clicks on a link in the html.
Allows canceling the execution of the link.
公共事件LoadComplete
Raised when the set html document has been fully loaded.
Allows manipulation of the html dom, scroll position, etc.
公共事件Refresh
Raised when html renderer requires refresh of the control hosting (invalidation and re-layout).
公共事件RenderError
Raised when an error occurred during html rendering.
公共事件ScrollChange
Raised when Html Renderer request scroll to specific location.
This can occur on document anchor click.
公共事件StylesheetLoad
Raised when a stylesheet is about to be loaded by file path or URI by link element.
This event allows to provide the stylesheet manually or provide new source (file or Uri) to load from.
If no alternative data is provided the original source will be used.
Top
扩展方法
  名称说明
公共扩展器方法FormatDateTime
将数据以时间格式并对其格式化
(由 ObjectExtenstions 定义。)
公共扩展器方法FormatNumber
将数据以数值方式对数据格式化
(由 ObjectExtenstions 定义。)
公共扩展器方法FormatString
将数据以字符串格式对数据格式化
(由 ObjectExtenstions 定义。)
公共扩展器方法Sleep
异步延迟执行代码,只能在主线程中调用
(由 DuiControlExtensions 定义。)
公共扩展器方法ToBool
将数据转换成Bool,如果转换失败返回False
(由 ObjectExtenstions 定义。)
公共扩展器方法ToDateTime
将数据转换成DateTime,如果转换失败返回空的时间
(由 ObjectExtenstions 定义。)
公共扩展器方法ToDouble
将数据转换成Double,如果转换失败返回0
(由 ObjectExtenstions 定义。)
公共扩展器方法ToEnumT
将数据转换成枚举,如果转换失败则返回默认值
(由 ObjectExtenstions 定义。)
公共扩展器方法ToFloat
将数据转换成Float,如果转换失败返回0
(由 ObjectExtenstions 定义。)
公共扩展器方法ToInt已重载。
将数据转换成int,如果转换失败返回0
(由 ObjectExtenstions 定义。)
公共扩展器方法ToInt(Int32)已重载。
数据转换成int,如果转换失败,返回errorResult
(由 ObjectExtenstions 定义。)
公共扩展器方法ToJson
将对象序列化成Json字符串
(由 JsonHelper 定义。)
公共扩展器方法ToLong
将数据转换成Long,如果转换失败返回0
(由 ObjectExtenstions 定义。)
Top
备注

MaxSize 和 ActualSize:
最大宽度和高度的呈现的 html。
最大宽度会影响自动换行的 html 布局、 调整大小的图像和表在可能的情况。
最大高度不影响布局,但不是会呈现外面 (剪辑)。
ActualSize 可以通过布局限制 (打开能线、 设置的图像大小等) 超过最大大小。
设置为零无限 (宽/高分别)。

ScrollOffset:
这将通过给定的偏移量调整呈现的 html,所以内容将"滚动"。
在与偏移量 (0,200) 的位置 (50,100) 被呈现的元素将不会呈现 在-100,因此客户端矩形外。

LinkClicked 事件
当用户点击一个链接的 html 中。
允许取消链接通过自定义逻辑来覆盖执行。
如果事件处理程序中出现的错误,它将在堆栈中向上传播。

StylesheetLoad 事件:
一个样式表时要加载的文件路径或 URL '链接' 元素中引发。
允许通过手动,提供的样式表的数据覆盖加载样式表或不同源 (文件或 URL) 从加载。
示例: href 样式表可以由预加载样式表对象的自定义逻辑解释覆盖委托中的非有效 URI 字符串
如果没有替代的数据提供将会使用原始源。

ImageLoad 事件:
提出要由 img 元素或背景图像 CSS 样式的文件路径、 URL 或内联数据加载图像时。
允许通过手动,提供的图像对象覆盖加载的图像或不同源 (文件或 URL) 从加载。
示例: 形象 src 可以解释为对资源图像对象的自定义逻辑覆盖委托中的非有效字符串
示例: 形象在 html 中的 src 是相对的 — — 覆盖截获负荷,并提供完整的源代码的 URL 加载图像从
示例: 映像下载文件要求身份验证-覆盖拦截负载,下载图像到磁盘使用自定义代码,并提供 加载的图像的文件路径。
如果没有替代的数据提供将会使用原始源。

Refresh 事件:
当 html 渲染器需要刷新的承载 (失效和重新布局) 的控件引发。
不能保证会在主线程上引发该事件,它可以在线程池线程上引发。

RenderError 事件:
当 html 渲染的过程中出错时引发。

参见