WPF如何在后端创建Style

            var result = new Style(type, style);
            result.Setters.Add(new Setter(FontSizeProperty, (double)size));
            result.Setters.Add(new Setter(ForegroundProperty, new SolidColorBrush(color)));
            if (CurrentBold)
                result.Setters.Add(new Setter(FontWeightProperty, FontWeights.Bold));//设置字体加粗
            if (CurrentItalic)
                result.Setters.Add(new Setter(FontStyleProperty, FontStyles.Italic));//设置字体斜体
            var padding = new Thickness(size / 3, size / 5, size / 3, size / 5);
            var margin = new Thickness(size / 1.5, size / 2, size / 1.5, size / 2);
            if (type == typeof(TextBox))
            {
                result.Setters.Add(new Setter(PaddingProperty, padding));
            }
            else
            {
                result.Setters.Add(new Setter(MarginProperty, margin));
            }
            return result;

第一行的type是想要设置style的目标控件,比如button什么的。

参数里面的style就是style,可以由前端xmal设置然后后端使用

FindResource("样式名") as Style来获得,这样第一行的运行结果result就是基于前端的样式了。

各种属性的设置方式就是result.setters.add(new setter(XXXXProperty,YYYY)),其中XXXX为属性名,YYYY为值。

例如,想要设置字体大小为24,代码就是result.setters.add(new setter(FontSizeProperty,24))

你可能感兴趣的:(WPF如何在后端创建Style)