wpf - 为什么 UI 的可伸缩性在 WPF 中很重要?

标签 wpf xaml scalability vector-graphics

虽然我喜欢在 WPF 和 XAML 中开发用户界面,但我也尝试通过将图标创建为矢量图像来拥抱可扩展性......但这真的很难!我很少能获得与光栅图形相同的清晰度,而且我几乎总是需要更长的时间来制作图标。

我是在浪费时间吗?制作可缩放图标没有好处吗?或者 Windows 中是否有某个设置可以缩放 UI 以实现可访问性,从而使可扩展性变得重要?

欢迎您的建议。 :)

最佳答案

在 WPF 中使用矢量/可缩放图形有一些优点。从我的头顶上掉下来:

  • 您可以构建适应用户 DPI 设置的高保真 UI - 请参阅 this blog post了解更多信息
  • 您可以缩放 UI 中的图像(例如使用 ViewBox 拉伸(stretch)图标),从而实现“可缩放”界面
  • 文件大小大大减小,特别是对于较大的图像
  • 您不必兼顾不同的图像尺寸和分辨率
  • 您可以直接在 Blend 中编辑图像

这种方法的一个问题是,如果不缓存矢量图标,可能会给 CPU 带来更大的压力(要缓存,请将 UIElement.CacheMode 设置为 BitmapCache )。

如果您 100% 确定图标将保持相同的大小,您可以安全地使用光栅图像 - 只需执行您认为对您的情况更有效的操作即可。

关于wpf - 为什么 UI 的可伸缩性在 WPF 中很重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031584/

相关文章:

c# - 如果检查了 2 个或更多值,为什么我只有一个值存储在集合中?

wpf - MVVM Wait Cursor 如何在调用命令期间设置.wait 光标?

c# - 带有 LineUp/LineDown 重复按钮的自定义 WPF DataGrid 滚动条

c# - DataGrid 滚动查看器不工作

ruby - 如何使用 omniauth/oauth 对每秒登录数进行基准测试? ( ruby +rspec)

c# - 将通用实例转换为基类

c# - 如何重新设置 DataGridTextColumn 的 TextBox 的样式?

c# - 根据属性切换 UserControl

algorithm - 服务器算法之间的文件分片

mongodb - 如何扩展 MongoDB?