Silverlightのフォントとイメージの検索
XAMLに書かれた、フォントやイメージがどこから探されるのか試してみました。
XPSファイル表示のためなので、パッケージ内での話です。
左図のように、7A...03.odttf と logo.png ファイルをプロジェクトに追加して実験しました。
XAMLは、以下のような記述になっています。
Image の Source と Glyphs の FontUri にファイル名が記述されています。
ビハインドコードは、自動生成されたままで、無修正です。
- <UserControl x:Class="sla_resourse_test1.MainPage"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
- <Grid x:Name="LayoutRoot">
- <StackPanel>
- <Image Source="logo.png"/>
- <Canvas>
- <Glyphs Name="a0" Fill="#FF000000"
- FontUri="./7A286E23-70DE-6E97-4979-4C11EA154E03.odttf"
- FontRenderingEmSize="14.04" StyleSimulations="BoldSimulation"
- OriginX="28.32" OriginY="51.504" UnicodeString="XPS"
- Indices=",70.085;,66.667;" xml:lang="en-US">
- </Glyphs>
- </Canvas>
- </StackPanel>
- </Grid>
- </UserControl>
1.イメージ
- プロジェクトに追加したときは、「Resource」に設定される。
- Image の Source に "logo.png" と書いて問題なく表示される。
- コンテンツに変えても問題なく表示される。
(コンテンツは独立したファイルとしてパッケージされる。)
- フォルダ(xxx)に移して、"xxx/logo.png" と、すれば、問題なく表示される。
- これは、コンテンツでも、Resource でもOK
2.フォント
- プロジェクトに追加したときは、「Resource」に設定される。
- この状態では、問題なく表示される。
- コンテンツにすると、ルートでもxxx/でも実行時にエラーとなる。
- Resourceなら、xxx/ に移してもOK
|