原文:
wpf-MVVM界面自适应:界面自适应及字体自适应
1,界面自适应
界面先划分Region,每个填充Region的View不设置Width属性,即可按照Region划分的比例,自适应屏幕分辨率
2.字体自适应
程序根据屏幕分辨率分别计算4种字体大小,从大到下为:
TitleFontSize
TabFontSize
GridFontSize
ControlFontSize
计算方法:
private void FontSizeChange() { double titlesize = ((SystemParameters.PrimaryScreenWidth / 12) / 3 * 2) / 5; System.Windows.Application.Current.Resources.Remove("TitleFontSize"); System.Windows.Application.Current.Resources.Add("TitleFontSize", titlesize); double tabsize = ((SystemParameters.PrimaryScreenWidth / 12) / 3 * 2) / 5 * 0.9; System.Windows.Application.Current.Resources.Remove("TabFontSize"); System.Windows.Application.Current.Resources.Add("TabFontSize", tabsize); double gridsize = ((SystemParameters.PrimaryScreenWidth / 12) / 3 * 2) / 5 * 0.8; System.Windows.Application.Current.Resources.Remove("GridFontSize"); System.Windows.Application.Current.Resources.Add("GridFontSize", gridsize); double controlsize = ((SystemParameters.PrimaryScreenWidth / 12) / 3 * 2) / 5 * 0.7; System.Windows.Application.Current.Resources.Remove("ControlFontSize"); System.Windows.Application.Current.Resources.Add("ControlFontSize", controlsize); }
在XAML界面设置字体即可:
FontSize="{DynamicResource GridFontSize}