文件名称:集成的限制-基于javascript实现报警器提示音效果
文件大小:56.6MB
文件格式:PDF
更新时间:2024-07-29 11:57:27
VB2010 高级编程 文字版
16.4 集成的限制 集成的问题是这两个显示模型并不在相同的规则集下工作。Windows 窗体和WindowsFonnsHost 基于窗口句柄,也称为 HWnd 结构,而 WPF 只有一个 HWnd为操作系统定义其显示区域,其后就 避免使用 HWnd. 于是,在封装一个控件时, 该控件无论是 WPF还是 Windows 窗体控件, 都会受 到封装它的环境的影响。 例如,如果把一个 WPF 控件放在 Windows 窗体应用程序中, 控制低级图形显示特性, 如不透 明性或背景的能力, 就由 Wmdows 窗体的规则来控制。 WPF 将支持控件的分层特性, 允许在当前 控件的下一层显示另一个控件,而 Windows 窗体控件是包含在HWnd 中的; HWnd 不能在 WPF控 件上绘制背景,控件显示为一个区域, 如果不显示该控件,就用一个黑色或白色的背景替代。注意, 在 Wmdows 窗体中包含 WPF控件时,支持 Allow古ansparency 属性的设置。可以给在本章前面介绍 的 El.ementHost 控件指定背景色,以了解这种区别。 主控件常常受到包含它的底层环境的限制,了解这一点有助于理解集成限制问题.有时父应用 程序框架的一些特性令人惊讶,但随着 WPF 经验的积累, 我们将逐渐能预测出哪里存在问题。例 如,可以创建基于窗口和基于页丽的两个 WPF 应用程序,但它们工作在不同的模型下,基于页面 的 WPF应用程序窗口是无状态的。为支持这种无状却持性,在每次刷新页面时, WindowsFormsHost 控件都会完全刷新它包含的所有控件,这会丢失我们希望保留在 Wmdows 窗体控件中的用户输入。 621