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}

你可能感兴趣的:((C#系列)wpf-mvvm)