我正在尝试定义可以被许多样式元素引用的字体:
<System:String x:Key="FontFamilyDefault">Arial</System:String>
<System:Int32 x:Key="FontSizeDefault">18</System:Int32>
<SolidColorBrush x:Key="FontColourDefault" Color="Black"/>
我的风格指的是:
<Style TargetType="{x:Type Control}" x:Key="myStyle1">
<Setter Property="FontSize" Value="{StaticResource FontSizeDefault}" />
<Setter Property="FontFamily" Value="{StaticResource FontFamilyDefault}" />
<Setter Property="Foreground" Value="{StaticResource FontColourDefault}" />
</Style>
控件引用myStyle1:
<Style TargetType="TextBox" BasedOn="{StaticResource myStyle1}" />
我得到以下运行时异常:无法将"System.String"类型的对象强制转换为"System.Windows.Media.FontFamily"类型。如果我评论:
<Setter Property="FontFamily" Value="{StaticResource FontFamilyDefault}
然后在大小转换上获得此异常:指定的强制转换无效。
有人能建议如何将字符串转换为fontfamily以及如何在xaml中指定字体大小吗?
提前感谢
您可以创建FontFamily类型的StaticResource。。
<FontFamily x:Key="CockpitFont" >Verdana</FontFamily>