为什么所有位置/大小都是双精度格式?

2024-03-29

基本上,我会说坐标是“基于像素的”。很容易理解(10,10)处的像素或者100像素的宽度。

但由于位置和大小采用双精度格式,因此大小可以为 100.6,位置可以为 (10.1,50.9)。小数值对位置/大小有影响吗?

事实上,我通过计算点来生成自定义路径。有些点几乎相等,例如 1.9999999 和 2.000000。首先,我想四舍五入所有点,但我确信 xaml 中的影响(1.99 和 2.00,是同一点吗?)。


不,WPF 位置和大小不是基于像素的,而是基于“单位”的。

事实上,当屏幕设置为 96 dpi 时,1 个单位等于 1 个像素。 但如果您将屏幕设置为 120 dpi,则 1 单位将等于 1.25 像素。

直接的好处是,您的应用程序比 Windows 窗体应用程序更容易适应更高的分辨率。

引用自FrameworkElement.Height 属性 http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height.aspx :

该值被解释为与设备无关的单位(1/96 英寸)测量值。

总之,我建议您对值进行四舍五入。不是出于技术原因,而是为了使 XAML 标记更具可读性和“自然”。

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

为什么所有位置/大小都是双精度格式? 的相关文章

  • 使用画布矩形裁剪图像

    裁剪图像无法正常工作 我哪里错了 我的Xaml
  • Fabric js-在保存和加载回画布时缺少添加附加属性的扩展 toObject 方法

    我创建了一个带有矩形和文本的织物组 最后 我使用以下代码将自定义属性 名称 添加到组类中 我使用 JSON stringify canvas 将画布数据序列化为 JSON 并将 Json 字符串发送到 java 最后将 Json 字符串保存
  • 带有添加新选项卡按钮 (+) 的 TabControl

    在 WPF 中选项卡控件的选项卡条中的所有选项卡项的末尾添加 按钮选项卡的正确方法是什么 它应该可以正确地处理多个选项卡标题行 它应该位于所有选项卡项目的末尾 Tab cycling should work correctly Alt Ta
  • 正确缩放 Javascript Canvas 游戏

    我正在尝试根据屏幕尺寸动态缩放画布游戏 我了解如何根据屏幕尺寸调整画布大小 但我也想调整内容大小 基本上我希望游戏在每台设备上看起来都一样 我目前遇到的问题是 当拥有 4k 屏幕的人玩游戏时 他们可以轻松看到整个地图 当有人的屏幕非常小时
  • iTextSharp 从 WPF 固定文档生成 PDF

    我有一个简单的 WPF 应用程序 可以显示和打印一些内容 使用固定文档进行报告 如何使用免费且开放的解决方案从中生成 PDF 比如iTextSharp WPF 固定文档 也称为 XPS 文档 是对 PDF 的明显改进 它具有 PDF 所缺乏
  • 如何从外部类库(通过 NuGet 包)引用 UserControl?

    是否可以在驻留在 UWP 类库中的 UWP 应用项目中引用和使用 UserControl 我尝试在类库中创建 UserControl 但是当我尝试在应用程序中使用它时 我得到 App1 exe 中发生 Windows UI Xaml Mar
  • 如何确保 ViewModel 属性在再次更改其值之前已绑定在视图上?

    有以下情况 ViewModel有一个变化非常快的对象 通过不同的线程 View通过以下方式获悉NotifyPropertyChanged界面 但似乎它的工作速度很慢 并且在视图绑定新值并绘制它之前 它会更改更多次 因此它会丢失一些值 我也尝
  • 设置 TextBlock 以保留开头和结尾的空白?

    EDIT 下面的代码实际上按照我想要的方式工作 这个问题有点误导 请忽略它 通常当我设置Text的财产TextBlock像这样 TextBlock tb new TextBlock tb Text Hello World 文本开头和结尾的空
  • 如何按 z-index 对 Windows 进行排序?

    如果我枚举窗口Application Current Windows 对于任意两个窗口 我如何判断哪一个 更接近 即具有更大的 z index 或者 换句话说 我如何按 z 索引对这些窗口进行排序 您无法从 WPF 获取 Window 的
  • Three.js canvas.toDataURL 有时为空

    我正在尝试使用 html2canvas js 渲染 THREE js 场景 一些覆盖的 HTML 元素 有用大多数时候 但并非一直如此 在失败的情况下 将渲染 HTML 元素 背景 覆盖层等 但不会渲染其他元素 THREE js 场景表现得
  • 如何在WP7 WebBrowser控件中注入Javascript?

    我可以通过此链接将 JavaScript 注入到 C Windows 窗体中的 WebBrowser 控件中 如何在WebBrowser控件中注入JavaScript https stackoverflow com questions 15
  • Xamarin Forms 框架阴影设计

    我有一个带有列表的 Xamarin 内容页面 对于 ListItems 我想要类似于 Android 中的卡片视图的东西 根据我发现可以通过框架来完成 我有这个代码
  • WPF 应用程序在第一次交互(例如单击按钮)后停止/冻结

    我目前在 WPF 中遇到问题 UI 加载正常 但每当进行第一次用户交互时 例如单击按钮 应用程序似乎会停止 或者例如 如果我有两个显示 MessageBox 的按钮 则第一次单击将等待几秒钟 然后显示MessageBox 但任何后续交互都是
  • 强制绑定更新 Silverlight

    如何强制更新我的对象 DataContext 绑定 我正在网格上使用事件 并且在事件触发之前不会处理绑定更新 有什么廉价的技巧可以解决这个问题吗 最后 我总是可以用旧的手动方式从文本框中获取值并更新我的对象 但最好让绑定为我做这件事 UPD
  • 如何在鼠标悬停时突出显示 MahApps.Metro 的图块?

    我刚刚发现了一个非常出色的 WPF UI 工具包 MahApps Metro 我创建了一个带有 MahApps Metro Controls Tile 类型的图块的窗口 当鼠标经过时 我无法找到突出显示图块的正确方法 你知道我该怎么做吗 我
  • 需要帮助处理 Application.xaml 文件中的 DataTemplate 事件

    我的应用程序中有一个包含几个按钮的数据模板 我希望这些按钮的偶数处理程序在当前页面 我在许多页面中使用此模板 而不是在 Application xaml vb cs 文件中触发 因为我希望在每个页面上执行不同的操作 我希望我说清楚了 您可以
  • OxyPlot 中日期时间轴上的不规则间隔

    我有一个 WPF 应用程序 其中使用 OxyPlot 来绘制图表 我不断地将点添加到图表中的线系列中 X 轴是日期时间轴 其间隔类型设置为秒 点不断添加到线系列中 当第一个点和最后一个点之间的时间跨度是特定的秒数时 我删除第一个点并使绘图无
  • 如何在 MVVM 中使用应用程序命令

    我想使用 ApplicationCommands Cut 复制 粘贴 保存 它们看起来很有趣 因为命令路由 键绑定以及某些控件使用它们的事实 我了解如何绑定到虚拟机上的中继 委托命令 但我似乎无法理解应用程序命令 我找到了一些旧的答案 但没
  • 如何覆盖运行时创建的 wpf 控件中的应用程序样式

    我试图在运行时创建一个 WPF 控件 但我不知道如何让它忽略来自 App xml 资源的样式 我尝试将样式设置为 null 并将 OverridesDefaultStyle 设置为 true 但没有成功 应用程序设置将前景设置为白色 我似乎
  • WPF:在 DependencyProperty.UnsetValue 上触发

    在回答中这个问题 https stackoverflow com questions 2596847 wpf applying a trigger on binding failure作出以下声明 理论上 可能 触发 x Static De

随机推荐