需要能够在整个应用程序中更改字体大小以便访问

我使用WPF,MVVM和Visual Studio 2015构建了一个GIS路由应用程序。

当我在笔记本电脑上测试应用程序时,字体看起来比我在电脑上以调试模式测试时要小。

有没有办法在我的应用程序设置中创建一个function,以便用户可以在不影响图形的情况下全局增加所有字体的大小? 我希望这与使用’ctrl +’的网页设计类似。

任何帮助将不胜感激。

我使用ViewBox为我的应用程序添加了类似的function。 请注意,它不会更改字体大小,而是“缩放”用户界面的所有方面。 不确定这是不是你想要的,但这就是给你一个想法:

在此处输入图像描述

为了实现这一点,我在ViewBox中包装了最高级别的View(托管所有内容,这可以在Window级别完成),然后将Width和Height绑定到ViewModel中的属性,我可以使用“zoom”编辑它们量:

  ...content...   

随着宽度和高度:

  private int BaseWidth = 1150; private int BaseHeight = 750; public int Width { get { return (int)(BaseWidth * appSettings.Zoom); } } public int Height { get { return (int)(BaseHeight * appSettings.Zoom); } } 

这不仅允许应用程序独立于分辨率(一切都不会在大型DPI屏幕上看起来很小),它还允许用户在阅读内容时遇到问题,或者如果他们只是喜欢它。

很简单。 要仅影响字体大小,您可能应该查看组件的构建样式模板。 我敢打赌,你只需设置一个具有字体大小的全局TextBlock样式就能捕获很多文本 – 不确定你对默认样式的动态程度。

编辑:尝试使用样式:

 12  

您可能必须有一个wpf控件列表(按钮,复选框,文本框等),但这不会太难。

BaseFontSize应该可以更改。 没有样式集的所有控件都将使用它作为默认值,如果它在窗口或应用程序资源中。 因此,您无需通过所有控件来确保它们具有样式集。