调整屏幕和字体设置的 WPF 应用程序(或者,我如何将 DLU 与 WPF 中的单元相关联?)

2024-05-23

在MFC中,对话框的设计使用DLUs http://msdn.microsoft.com/en-us/library/bb847924.aspx。在 WPF 中,我们以 1/96 英寸为单位指定。虽然这确实会缩放窗口和视觉元素,但我们如何使 WPF“尊重”用户当前的字体设置?我们是否应该指定要使用的某种字体并坚持使用该字体?

如何布局一个“行为良好的应用程序”

  • 调整窗口大小以适应当前的字体设置和分辨率
  • 为小屏幕优雅地回流/布局窗口/文本。

任何帮助或指导将不胜感激? (Windows 用户体验指南清楚地说明了应该发生什么,但现在它如何在 WPF 中实现)。


我们通过将字体大小和样式设置应用于 WPF UI 中的所有文本对象来处理此问题。这可以在运行时完成,也可以即时修改。然而,您必须真正注意的一件事是用户界面的布局。当允许这种类型的定制时,它必须更加流畅(动态)。我通常会为窗口和控件设置最小尺寸,以帮助适应这种情况。堆叠/包裹面板可以使这更容易完成。此外,使用带有 * 符号的网格可以允许文本框和标签根据需要扩展。

请注意,这也是创建本地化应用程序时的要求,因为某些语言会转换为更长的字符串,因此换行和调整大小至关重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调整屏幕和字体设置的 WPF 应用程序(或者,我如何将 DLU 与 WPF 中的单元相关联?) 的相关文章

  • IEnumerable 与 IReadOnlyList

    选择有什么区别IEnumerable
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何动态创建 Dapper 查询的参数

    我有一个值字典 例如 Name Alex 有没有办法将其作为查询参数传递给 Dapper 这是一个显示我想要做什么的示例 IDictionary
  • ScrollViewer 滚动条始终禁用

    我是 xaml 和 wpf 的新手 我正在尝试将一些用户控件从代码隐藏插入到容器中 我已阅读此博客文章MSDN http blogs msdn com b marcelolr archive 2009 06 09 stackpanel do
  • 为什么我的项目没有显示在 JFrame 中?

    我对 JFrame 相当陌生 我想知道为什么我的项目没有显示在窗口上 我知道我没有 ActionHandler 但我只想让我的文本字段显示在我的窗口上 这是我的代码 import java awt Font import javax swi
  • 泛型和系统集合

    迁移到 NET 2 0 后 是否还有理由继续使用 systems Collections 命名空间 除了维护遗留代码之外 是否应该始终使用泛型命名空间 在大多数情况下 泛型集合的执行速度比非泛型集合更快 并且为您带来强类型集合的好处 比较
  • WPF ListView/Gridview 允许用户选择多个项目并将它们分组在一起

    我在 MVVM 应用程序中有一个 WPF ListView GridViwe GridView 绑定到 ViewModel 中的列表 要求是用户应该能够选择网格视图的多行 右键单击它并看到上下文菜单 将这些行组合在一起 选择后 所有这些项目
  • 非托管 C++ 中的默认打印机

    我正在寻找一种使用非托管 C 查找 Windows 默认打印机名称的方法 找到了大量 NET 示例 但非托管没有成功 谢谢 以下是如何获取当前打印机和默认打印机的列表 如果有一台设置为默认打印机 另请注意 如果用户没有打印机或未将打印机名称
  • ASP.NET Core 应用程序生命周期

    目前是否有关于生命周期的 ASP NET Core 文档 我希望能够在正确的点融入生命周期 它与现有的 ASP NET MVC 5 生命周期相似吗 http www asp azureedge net v 2016 09 01 001 me
  • 脚手架 EntityFramework 6 无法将“System.Data.Entity.Core.Objects.ObjectContext”类型的对象强制转换为“System.Data.Objects.ObjectContext”

    我想在 EntityFrameWork 6 中使用脚手架 但是得到这个 无法检索 myNameSpace Models prod 的元数据 无法将 System Data Entity Core Objects ObjectContext
  • 如何在wpf中翻转图像

    我最近学习了如何使用 TransformedBitmap 和 RotateTransformed 类旋转 BitmapImage 现在我可以对图像进行顺时针旋转 但如何翻转图像呢 我找不到执行 BitmapImage 水平和垂直翻转的类 请
  • Windows 操作系统中 ST_INO(os.stat() 输出)的含义

    谁能告诉我这个值的含义是什么st ino是跑步时os stat 在 Windows 上 Python 3 5 3 在早期的 Python 版本中 它包含虚拟值 但最近发生了变化 我找不到它是如何计算 生成的 我怀疑它因文件系统 NTFS F
  • 在线找到具有两个不同参数的多个匹配绑定

    我在同一个功能文件中写了两行 何时 When user action1 key1 with value1 for atttributeType Value in Filename1 SectionId1 Then abc When user
  • Tensorflow 导入错误:没有名为“tensorflow”的模块

    我在 Windows Python 3 5 Anaconda 环境中安装了 TensorFlow 验证成功 有警告 tensorflow C gt python Python 3 5 3 英特尔公司 默认 2017 年 4 月 27 日 1
  • 通过插件管理器在 Notepad++ 中配置代理设置

    我想在 Notepad 中配置代理设置 以允许通过代理从互联网下载 在从网上搜索如何执行此操作后 我了解到我需要通过 设置 按钮在插件管理器中执行此操作 当我转到插件 gt 插件管理器 gt 显示插件管理器 gt 设置时 我看到下面的对话框
  • 如何在 C# 中将字符串的内容复制到剪贴板? [复制]

    这个问题在这里已经有答案了 如果字符串中有一些文本 如何将其复制到剪贴板 以便用户可以将其粘贴到另一个窗口 例如 从我的应用程序粘贴到记事本 您可以使用System Windows Forms Clipboard SetText
  • SolrNet:尝试添加和提交时 SolrConnectionException (400) 错误请求

    我已经到了 SolrNet 执行 Add 方法的地步 但是当我尝试 Commit 时 我收到了错误 以下是我的 schema xml 模型 调用它的代码以及我得到的错误 更奇怪的是 尽管出现错误 但在我重新启动 Tomcat 后 该模型仍会
  • DI Control-Freak 反模式:难以理解

    我正在阅读 Mark Seemann 写的 NET 中的依赖注入 但我无论如何也无法理解这一点 虽然new当涉及到 VOLATILE 时 关键字是一种代码味道 依赖性 您无需担心将其用于稳定 依赖性 这new一般来说 关键字不会突然变得 非
  • 设置滚动条粗细

    有没有办法调整滚动条的粗细JScrollPane 默认值有点笨拙 一个快速但又肮脏的解决方案是将宽度 高度明确设置为例如10 像素通过 jScrollPane getVerticalScrollBar setPreferredSize ne

随机推荐

  • 在 SQL Server 中获取一周的第一天

    我试图按周对记录进行分组 将聚合日期存储为一周的第一天 然而 我用于四舍五入日期的标准技术似乎无法在几周内正常工作 尽管它可以在天 月 年 季度和我应用的任何其他时间范围内正常工作 这是 SQL select start of week d
  • 在循环中调用 setTimeout 未按预期工作

    下面的 JavaScript 应该 在我看来 以 0 5 秒的间隔播放一系列音符 但它会将它们全部作为一个同时的和弦来演奏 知道如何修复它吗 function playRecording if notes length gt 0 for v
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • Cocoa App 中使用#include 编译错误

    我正在尝试在 xcode 4 0 中编译 Cocoa 应用程序 但收到此错误 fatal error string file not found 当尝试在这一行编译为 pch 文件时 include
  • 将 echo 和 print 合并到一个语句中

    echo 1 print 2 3 返回 214 脚本如何以 14 结尾 当你这样做时 echo 1 print 2 3 PHP 会做 demo http codepad viper 7 com OfrNrs line op fetch ex
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • pandas 相当于 np.where

    np where具有向量化 if else 的语义 类似于 Apache Spark 的when otherwise数据帧方法 我知道我可以使用np where on pandas Series but pandas通常定义自己的 API
  • 获取特定时区一天开始时的时间对象

    如何获取代表给定时区特定日期的一天开始时间的 ruby Time 对象 date Date today date to time in time zone America New York beginning of day 目前输出 gt
  • 给定一个排序数组,就地删除重复项,使每个元素仅出现一次并返回新长度

    完整的问题 我开始在线学习 python 但对这个标记为简单的问题有疑问 给定一个排序数组 就地删除重复项 使得每个 元素只出现一次并返回新的长度 不分配 另一个数组的额外空间 您必须通过修改输入来完成此操作 数组就地 具有 O 1 额外内
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • 如何在 NLog 中记录网络目标的异常

    我正在使用NLog http nlog project org日志框架 并尝试获取任何 UDP 记录器应用程序中显示的异常和堆栈跟踪信息 例如Sentinel http sentinel codeplex com and Log2控制台 h
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • 如何解决 Webpack 2 loaderUtils.parseQuery() 警告?

    当我使用 Webpack2 编译我的文件时 它显示以下警告 loaderUtils parseQuery 收到一个非字符串值 可以 有问题 参见https github com webpack loader utils issues 56
  • 使用 Imagick 动态图像创建/Apache 标头

    在将现有的稳定网站转移到新服务器时 我遇到了一些使用 Imagick 动态创建图像的代码的间歇性问题 该代码解析 GET 查询 例如 example com image php ipid 750123 r 0 w 750 h 1000 然后
  • Sphinx内联代码高亮

    我使用 Sphinx 制作一个包含代码示例的网站 我成功地使用了 code block获取语 法高亮的指令 但我无法使用此代码获得内联语法突出显示 role bash code language bash Test inline bash
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • 如何在sql server 2008R2中将单个单元格拆分为多个列?

    我想将每个名称拆分为各个列 create table split test value integer Allnames varchar 40 insert into split test values 1 Vinoth Kumar Raj
  • 调整屏幕和字体设置的 WPF 应用程序(或者,我如何将 DLU 与 WPF 中的单元相关联?)

    在MFC中 对话框的设计使用DLUs http msdn microsoft com en us library bb847924 aspx 在 WPF 中 我们以 1 96 英寸为单位指定 虽然这确实会缩放窗口和视觉元素 但我们如何使 W