首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么同样的WPF控件在不同的电脑上呈现外观不一致

今天有同事跑过来说遇到了一个奇怪的bug,同样的程序在win7和win10上界面相差了2个像素 ---- 一开始我们以为是半像素或者是分辨率的问题。 结果调试了很久都没有结果。...下面两个图分别是在win7和win10情况下soonp获得的可视化树(已用demo替换) image.png image.png 有么有发现TabControl的子元素Grid多出了一个名字templateRoot...在代码里面查找,发现并没有这个名字的Grid,所以可以确定这个是来自TabControl的默认Style 所以我们找到win7和win10 下的默认主题 Aero和Aero2 查找方法可以参见博客默认的...当然对于这样子的问题的确不是很好定位,因此我们有两种可行的解决方案 1、尽量在关键界面使用自定义样式,对元素的呈现细节进行控制 2、在App.xaml中指定主题样式。...A0%B7%E7%9A%84WPF%E6%8E%A7%E4%BB%B6%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E7%94%B5%E8%84%91%E4%B8%8A%E5%

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Windows 下的高 DPI 应用开发(UWP WPF Windows Forms Win32)

    各种不同的 Windows 桌面 UI 框架 微软主推的 Windows 桌面 UI 框架有: UWP WPF Windows Forms Win32 与 C++ DirectX 后两者实际上并不是 UI...UWP 只支持 Windows 10(当然也分不同的小版本,兼容起来有些小麻烦)。 WPF 和 Windows Forms 的最新版本只支持 Windows 7 SP1 及以上系统。...如果要支持 Windows 7 和更早的系统,你需要降低 .NET Framework 的版本至 4.5.2 及以下;如果要 XP 支持,还需要到 4.0 及以下。...在 Windows Vista / 7 / 8 中,操作系统提供了真正的 DPI 的设置: ▲ Windows 7 的 DPI 设置(控制面板 -> 外观与个性化 -> 显示) 这里的设置改的就是系统的...Windows 7 中还额外提供了传统 Windows XP 风格 DPI 缩放比例的选项(此选项在 Windows 8 之后就删掉了),这也是在修改 DPI 值,只不过可以选择非 1/4 整数倍的 DPI

    91950

    microsoft silverlight

    Microsoft .NET Framework3.0(Windows 编程基础结构)中的呈现技术 XAML(可扩展应用程序 标记语言)遵循 WPF(Windows Presentation Foundation...改善伺服端的延展性及扩展广告客户支援:Silverligt 2.0针对串流传送资料方式、效率、下载播放方式再进一步强化改善其能力。...作为微软的下一代企业应用程序解决方案,Silverlight 5还完善了在企业应用开发方面的特性,在用户界面内可以实现更流畅的动画效果,改进了字体渲染清晰度,支持Postscript矢量打印,改进了XAML...增强的控件包括了具有可排序/可重设大小的栏和复制/贴上列的 DataGrid。...b) 高清视频质量 由于体积上的压缩和编码上的简单化,市场上广泛使用的视频格式效果并不理想,难以满足用户要求。

    1.3K90

    看微软 Windows 30年发展简史,你用过最早的系统版本是什么?

    也正是在Windows 3.1中,微软意识到了字体扩展的重要性,开始在系统中引入TrueType字体及其管理工具。到了今天,强大的字体管理器,已经可以让我们安装,删除,并使用数百种不同的字体了。...2007年:Windows Vista 时隔六年,微软才推出一款新的操作系统,这不仅再一次印证了XP的成功,也足以说明微软对这款命名为Vista的操作系统的重视。...2009年:Windows 7 怎么评价Windows 7?至少可以说,是Windows XP后,微软的又一得意之作。...而最大的进步则来自于,在Windows 7中,微软为所有Windows用户带来了一种全新的资源组合和展示方式,我们可以将相关文件夹下某些特殊类型的文件,聚合为一个特别的虚拟目录,比如:音乐,这样,我们就有了一种新的更为扁平化的资源索引和浏览方式...2012年:Windows 8 或者是为了表明自己彻底和过去告别的决心,在2012年,微软为整个Windows世界带来了一款,从Logo到操作方式,都和Windows 95以来截然不同的操作系统。

    1.8K20

    WPF初体验

    刚开始没觉得这东西比WinForms方便在哪, 只是觉得它是一套跟Win32/MFC/WinForms完全不同的的东西....这样的好处就是可以跟WPF的排版/Alpha融合什么的无缝结合, 但是, 由于中间多了一个拷贝, 会影响一部分效率. 再者, D3D9在XP和Vista上的处理方式不一样....还有一个更麻烦的事: WPF是基于D3D9的, 这就意味着GL/DX10/DX11就不能直接利用这种方式来整合. 所以呢, 还是要通过HWND的传统方式来....在BuildWindowCore里创建一个Win32子窗口, 并把这个窗口的HWND做为DX初始化的参数. 如果需要改变大小, 还需要实现OnRenderSizeChanged....另一种思路是在HostWindow的调用端设置一个Timer, 通过固定间隔的触发来进行渲染. 这种方式可能会引起帧率无法自适应的问题, 但一般情况下是可以接受的.

    88130

    浅谈 Windows 桌面端触摸架构演进

    在这里是无法说明架构的,每个公司都可以使用自己的方式开发。请看 Windows for Pen Computing 在 XP 的时候,此时触摸屏成为 HID 设备,也就是有了标准。...可以在系统上支持触摸屏,我记得在缺少补丁和驱动将会只支持单点触摸,如果需要支持多点触摸,需要额外的补丁或驱动。这部分我没有去查文档,如有错误,请告诉我。...在 XP 的触摸存在很多坑,如果要在 XP 上开发支持多点触摸的应用,需要用一些有趣的技术,如TUIO等。...此时的触摸屏还是作为 Mouse 用,此时我将这一代的触摸架构称为上古的触摸 在 Vista 和 Win7 才算支持多点触摸,此时的应用默认可以收到了 Gestures 消息,如果注册了 RegisterTouchWindow...在 Win7 将触摸作为 Windows 消息,支持了多点的触摸,同时兼容 XP 和上古的和硬件设备读写的软件,但是 Win7 系统消息的转发受补丁和驱动的影响,也会存在一些触摸失效,同时因为 Touch

    1.2K20

    探究WPF中文字模糊的问题:TextOptions的用法

    像素对齐和抗锯齿 我们经常听到WPF具有分辨率无关性这个说法,因为WPF使用的是与设备无关的绘图系统,为字体和形状等内容指定大小或者尺寸的数值并不是真实的像素,在WPF中称之为设备无关单位。...渲染过程中,WPF会自动把设备无关单位转换为物理像素,由于设备的差异以及DPI设置不同,转换之后的像素很少是整数,然而无法使用零点几个像素点去绘制,WPF会使用抗锯齿特性进行补偿。...TextOptions的使用 TextOptions定义一组影响文本在元素中的显示方式的附加属性。...这也就意味着字形的大小和换行不完全准确。 两种模式都有各自的优势和缺点,Ideal模式可以提供最佳的字形和间距,减少用户阅读疲劳,但是在较小的字体情况下,文字渲染会模糊。...Animated 2 以最高动画质量呈现文本。 Fixed模式使用的算法针对视觉上精确的字体平滑效果进行优化,但是将动画应用于字体元素的属性时,可能导致性能问题以及抖动,尤其是对于 转换和投影。

    38610

    揭开仿宋和仿宋_GB2312的神秘面纱

    从上世纪90年代开始,随着计算机技术的普及和办公自动化的推进,公文处理方式发生了巨大的变革。为了适应这一变革,确保公文在电子传输和打印过程中保持格式的稳定性和一致性,仿宋_GB2312字体应运而生。...这种字体的设计充分考虑了汉字的结构特点和书写习惯,使得公文在呈现时既规范又美观,避免因使用其他字体而引起的格式混乱和歧义误解。...因此,从Windows Vista开始以及都后来的Win 7、10等系统默认安装了升级版的仿宋字体,改用北京中易中标电子信息技术有限公司设计的"仿宋",名字从"仿宋_GB2312"改为了"仿宋"。...此外,"仿宋"在字形外观上和"仿宋_GB2312"有所不同, 但是,由于种种历史原因,已经过时的"仿宋_GB2312"直到今天仍在公文中广泛使用,但仿宋_GB2312确实已经过时了。..., 因为不同的系统所安装的默认系统字体有所不同,如果你在Win 7、8、10、11等平台上采用默认的"仿宋"排版了文档,当文档发送到Win XP或者更早期的平台上观看时会发现出问题了,表面上看是仿宋,但总觉得怪怪的

    24310

    WPF概述

    1.WPF简介WPF:WPF即Windows Presentation Foundation,翻译为中文“Windows呈现基础”,是微软推出的基于Windows Vista的用户界面框架,属于.NET...在之前做winform中, 也做过一些动画效果, 但是整个动画都需要我们自己去编写, 利用计时器或线程去直接操作UI元素的属性, 然而在WPF中, 则是通过一种全新的基于属性的动画系统, 改变了传统的开发模式...(例如,改变窗体的大小)(3).重新绘制整个界面元素。缺点:1.修改一个效果的时候,要比想象中复杂, 你要追加一个效果,必须编写所有的代码, 甚至变得更加复杂。...3.基于属性的WPF动画在WPF中, 动画使用了一个完全不同的模型。本质上, WPF动画只不过是在一段时间间隔内修改依赖性属性值的一种方式。...view=netdesktop-6.0说明:.尽管 .NET 是一种跨平台技术,但 WPF 并不是,它仅在 Windows 上运行。

    80050

    聊一聊“@font-face”

    在 Mac OS X 平台上 subpixel rending 是默认开启的,但在 windows 平台上只有 windows vista 以及之后的版本才会默认开启。...truetype(.ttf) 是目前最普遍的字体格式,早在八十年代就被苹果开发出来,当时它作为一种可伸缩的字体格式用来代替位图字体在屏幕上显示,不久微软也接受了这个格式,由于该格式可以针对特定大小做精准的微调...由两名字体设计师和两位 Mozilla 的开发者设计。最早在 firefox 3.6 上实现。...事实上,woff 并不是一种新的字体格式,它只是包装 truetype 和 opentype 并进行压缩,压缩后可以使 truetype 减少 40% 。...绝大多数情况下,第一个 src 是可以去掉的,除非需要支持 IE9 下的兼容模式。在 IE9 中可以使用 IE7 和 IE8 的模式渲染页面,微软修改了在兼容模式下的 CSS 解析器,导致使用 ?

    1.5K50

    web前端几个小知识点笔记

    需求:一个盒子div中有一段文字,文字行数不确定,如何实现该段文字在盒子内垂直居中 方法1: 在div盒子上使用两个css属性:display:table-cell;vertical-align:middle...在默认情况下,也就是未自行安装新字体或者 Office 等文字处理软件的情况下,Windows 默认提供下列字体: Windows 95/98/98SE 宋体、黑体、楷体_GB2312、仿宋_GB2312...Windows XP/2000/2003/ME/NT 宋体/新宋体、黑体、楷体_GB2312、仿宋_GB2312 (Windows XP SP3 宋体-PUA) Windows Vista/7/2008...Windows 7/Vista/2008 中可能不再显示为对应的字体。...这是因为 Windows 7/Vista/2008 中有楷体、仿宋,默认情况下没有楷体_GB2312、仿宋_GB2312,字体名称相差“_GB2312”。

    1.1K50

    兼容性测试工具分享

    怎么做的,效率怎么样,是在不同的机器上下载不同的浏览器进行效果确认?有多少人对浏览器的兼容性测试犯过愁?   ...IETester可以在独立的标签页中开启IE5.5、IE6、IE7,IE8 ,IE9,IE10,IE11这7个不同版本的IE,原则上支持WIN8 desktop,WIN7,XP和Vista操作系统。...注意事项: 1)Windows 8 desktop, Windows 7, Windows Vista 或Windows XP 至少安装IE7(Windows XP/IE6 的配置会有很多问题,并且在XP...SuperPreview可以让你设计制作好的网页在IE不同版本以及Chrome、FireFox和Safari浏览器呈现效果,而且还提供像firebug或者是微软的开发者工具一样的功能,对于调试页面将会非常有力...根据微软的介绍,SuperPreview的可用IE版本视系统已安装IE浏览器的版本而定,如果系统安装了IE8,那SuperPreview浏览器测试可用版本就包括IE8、IE7和IE6;如果系统安装了IE7

    3.7K80

    Windows 系统的默认字体是什么?应用的默认字体是什么?

    作为中文应用的开发者,我们多半会认为系统的默认字体是“微软雅黑”。然而如果真的产生了这种误解,则很容易在开发本地化应用的时候踩坑。 于是本文带你了解 Windows 系统的默认字体。...---- Windows 10/8.1/8/7/Vista Windows 操作系统的默认字体是 Segoe UI(发音为 see go 这两个单词),默认的字体大小为 9 点。...当然,Windows 系统中的其他字体也遵循这一命名规则,带 UI 后缀的适用于界面显示,而不带 UI 后缀的适用于打印和其他排版设计。...Windows 操作系统在启动应用程序的时候,会根据当前系统用户的地区决定默认字体应该采用哪一个。 Windows XP 及更早系统 早期版本的 Windows,默认字体是 Tahoma。...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

    8.5K40

    html中中文字体的代码

    在默认情况下,也就是未自行安装新字体或者 Office 等文字处理软件的情况下,Windows 默认提供下列字体: Windows 95/98/98SE 宋体、黑体、楷体_GB2312、仿宋_GB2312...Windows XP/2000/2003/ME/NT 宋体/新宋体、黑体、楷体_GB2312、仿宋_GB2312 (Windows XP SP3 宋体-PUA) Windows Vista/7/2008...现在纠正网上普遍的一个错误: GB18030-2000 和 GB18030-2005 都不支持单字节的欧元符号 与简体中文有关的代吗页如下: 936 gb2312 简体中文(GB2312)————其实是...Windows 7/Vista/2008 中可能不再显示为对应的字体。...这是因为 Windows 7/Vista/2008 中有楷体、仿宋,默认情况下没有楷体_GB2312、仿宋_GB2312,字体名称相差“_GB2312”。

    7K20
    领券