WPF样式强制转换异常



我正在尝试定义可以被许多样式元素引用的字体:

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

相关内容

  • 没有找到相关文章

最新更新