关于WPF的2000件事 02--WPF界面是如何渲染的?

WPF应用程序在运行时会自动检查显示的能力并分配一个相应的渲染层值。

第0层,没有硬件加速,所有渲染使用软件完成。相当于使用低于7.0版本的DirectX。

第1层,部份采用硬件加速,例如:径向梯度计算,3D光线计算,文本渲染,3D抗锯齿。相当于使用低于7.0版本到9.0的DirectX。

第2层,完全采用硬件加速,相当于高于9.0版本的DriectX.

如何确定当前层:

int renTier = (RenderCapability.Tier >> 16);
MessageBox.Show(string.Format("Tier = {0}", renTier));

国外的文章:https://wpf.2000things.com/index/

试着翻译,全当练习英语,理解错的地方可能很多,别信我。。

时间: 2024-10-16 01:27:13

关于WPF的2000件事 02--WPF界面是如何渲染的?的相关文章

关于WPF的2000件事 05--矢量图形和呈现与分辨率无关

在WPF中,渲染东西使用的是矢量图,而不是位图,包括你创建的用户自定义控件也不是像位图一样一个一个像素在屏幕上绘制,而是使用最基本的图形元素如形状.线.多边形. 因为WPF使用矢量图形,所以WPF的用户界面将与分辨率无关.这导致用户界面总是能呈现指定的大小不管设备的分辨率是多少. 国外的文章:https://wpf.2000things.com/index/ 试着翻译,全当练习英语,理解错的地方可能很多,别信我..

关于WPF的2000件事 03--开发WPF的工具

VS2010是你唯一能用来开发WFP(版本4)的工具.可以去微软的网站上下载免费的Visual Studio 2010 Express.其它版本可能要付费.想绘制更加绚丽的用户界面可以使用Expression Blend 4. 国外的文章:https://wpf.2000things.com/index/ 试着翻译,全当练习英语,理解错的地方可能很多,别信我..

关于WPF的2000件事 04--WPF是用来替代WinForm的

WPF是微软用来替代WinForm开发桌面程序的技术,虽然WinForm还会继续支持,但WPF是桌面程序的未来,WPF有很多特性比WinForm优秀,而已VS2010上也为WPF提供了很多先进的功能和工具. 国外的文章:https://wpf.2000things.com/index/ 试着翻译,全当练习英语,理解错的地方可能很多,别信我..

关于WPF的2000千事 01--WPF是什么?

WPF (Windows Presentation Foundation)是一系列能够实现非常炫丽的图形化界面运行在Windows上的客户端的DotNet类库.WPF能运行在客户端也能很好的运用在web网站上. WPF运用3D矢量图形,旨在脱离屏幕分辨率,做到根据屏幕大小自适应.WPF用DirectX进行界面绘制,如果显卡支持硬件加速时,启用硬件加速的DirectX版本,否则用软件加速DirectX版本进行渲染. WPF是用于替代WinForm的一种技术. 国外的文章:https://wpf.2

通过WinForm控件创建的WPF控件无法输入的问题

今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行:但在我的机器上却是好好的. 最开始以为是输入法的问题,弄了好一阵子后,终于找到了原因:虽然这个程序是个WPF程序,但为了复用之前的部分代码,使用着一个WinForm的菜单控件,后续的子窗口都是通过这个WinForm菜单创建的.而用WinForm控件创建的WPF控件可能出现无法正确响应键盘事件的情况. 找到了原因后,一个常规的解决方法是:将WinForm控件换成WP

wpf 修改控件Background

以TextBox 控件为例 一  Brushes.颜色 textBoxName.Background = Brushes.Blue; 二 背景色值#FFD2D2D2 1 .textBoxName.Background=new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFD2D2D2")); 2.textBoxName.Background = new SolidColorBrush(Colors.White);

WPF获取控件内部的ScrollViewer,并控制ScrollViewer操作

//获取内部  ScrollViewer方法 public static T FindVisualChild<T>(DependencyObject obj) where T : DependencyObject        {            if (obj != null)            {                for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)          

WPF系列 —— 控件添加依赖属性

依赖属性的概念,用途 ,如何新建与使用.本文用做一个自定义TimePicker控件来演示WPF的依赖属性的简单应用. 先上TimePicker的一个效果图. 概念 和 用途:依赖属性是对传统.net 属性的一种封装,使一个传统.net属性支持 WPF 中的 数据绑定.动画.样式 等功能. 新建:任意代码代码文件中 ,输入 propdp 再双击tab键.生成如下的代码块. MyProperty: 依赖属性的名称: ownerclass: 当前依赖属性绑定的所有类; new PropertyMeta

WPF 布局控件 之 DockPanel

DockPanel为容器控件 主要了解其Dock属性和LastChildFill属性的使用 一.LastChildFill="True" 时 代码: <DockPanel LastChildFill="True"> <Button DockPanel.Dock="Top">Top</Button> <Button DockPanel.Dock="Bottom">Bottom<