1

多くのスタイル要素で参照できるフォントを定義しようとしています:

<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でフォントサイズを指定する方法を誰かが提案できますか?

前もって感謝します

4

1 に答える 1

3

FontFamily タイプの StaticResource を作成できます。

<FontFamily x:Key="CockpitFont" >Verdana</FontFamily>
于 2012-07-27T13:02:05.923 に答える