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))