2010-12-03 8 views
5

Silverlightコントロールでapp-wideフォントを使用できるかどうかを調べるには、application.resourcesで設定してからアプリ全体で使用できるかどうかを確認してください。太字や斜体のようなフォントについては、名前だけを指定する必要はありません。SilverlightのApp-wideフォントリソース

ほとんどの場合、これはカスタムフォント用で、アプリに組み込む必要があります。例えば、私は(ない任意の特定のコントロールまたはコントロールタイプの)のようなシンプルなものを探しています...

<Setter x:Key="My First Font" 
     Property="FontFamily" 
     Value="VINERTIC.TTF#Viner Hand ITC" /> 

次に任意のコントロールに、私は...

<TextBlock FontFamily="{StaticResource "My First Font"}" 
      x:Name="ApplicationTitle" 
      Text="NEXT PAGE" Foreground="Red"/> 

と入力します。 ...または...

FontFamily="{Binding "My First Font"}" 

などです。

私がしたことがうまくいかないことは分かっていますが、それが望ましい効果です。

アプリ全体のフォントファミリを設定する方法に関するドキュメントが見つかりません。何かアドバイス?

答えて

4

ここにいくつかの情報があります。

まず第一に、私は共有ライブラリ(例:Silverlightのクラスライブラリ)にフォントを埋め込むために知っている最も簡単な方法は、次の操作を実行することです:

  1. は、クラスライブラリを持っており、そのデフォルトを知っています名前空間。この例では、クラスライブラリのデフォルト名前空間はCommon.Windowsです。
  2. フォントがあります。この例では、アクションマンBold.ttfは、名前付きフォントアクションマンを含んでいます。
  3. 共有ライブラリプロジェクトのどこかにフォントを追加します。たとえば、アセット/フォントというフォルダです。
  4. ファイルのビルドアクションをリソースに設定します。
  5. プロジェクトをビルドします。

    <TextBlock 
    FontFamily="/Common.Windows;component/Assets/Fonts/Action Man Bold.ttf#Action Man" /> 
    

    上記FontFamily式はコンテナ内で働いていたことに注意してください:どこでもスタイルを含めてください、

これらの手順を実行した後、あなたは下のテキストブロックに似た構文を使用して、フォントを参照することができますプロジェクトおよびを参照してください。私はフォントのzipアーカイブでこのプロセスをテストしなかったが、私はそれがまだ動作する庭からファンシーな岩を賭けるだろう。

これは、あなたを始めてくれるはずです。あなたのスタイルでフォントを宣言し、あなたのコントロールにスタイルを使用しての余分な(かつ有用)ステップに行くことに興味がある場合は、このリソースでご覧になることを考えてみます。

http://www.silverlight.net/learn/quickstarts/control-styles/

+0

+1を、ちょうど欲しいですBlend埋め込みフォントがClass Libで動作しないことを追加します。これを有効にするには、これが唯一の方法です。 –

関連する問題