1

同じカスタムコントロールライブラリ内の画像を参照するリソースディクショナリを備えたカスタムコントロールライブラリがあります。

次に、画像を利用するスタイルのリソースディクショナリを含むカスタムコントロールライブラリを参照するWPFアプリケーションがあります。

外部リソースからスタイルを使用しようとすると、スタイルで参照されている画像が見つからないというエラーが表示されます。

私はそれを必要とする誰にでも送ることができるサンプルソリューションを作りました、しかし私はただ答えを知っている誰かがそこにいることを望んでいます...

ありがとう、アーロン

4

2 に答える 2

2

わかりました、これは私が見つけたものです...あなたがスタイルを持つ外部リソース辞書を持っているなら:

<Style x:Key="Arrow" TargetType="{x:Type Button}">
<Setter Property="Template">
  <Setter.Value>
    <ControlTemplate TargetType="{x:Type Button}">
      <StackPanel Orientation="Horizontal" Width="Auto" Height="20">
        <Image Source="/Images/RightArrow.png" />
      </StackPanel>
    </ControlTemplate>
  </Setter.Value>
</Setter>

画像は外部アセンブリのImagesフォルダーにあり、開発環境では上記のソース参照は問題なく機能しますが、アセンブリを参照すると、RightArrow.pngへの相対パスが参照元のWPFアプリに失われます。したがって、答えはソースに次を使用することです。

        <Image Source="/Skin;component/Images/RightArrow.png" />

相対パスではなく、ピックURIに注意してください。これにより、参照アプリケーションが実際に画像を見つける場所を確実に知ることができます。

于 2009-06-09T20:40:18.683 に答える
0

VSでプロジェクトに画像を追加すると、「出力ディレクトリにコピー」というプロパティがあります。その値を「常にコピー」または「新しい場合はコピー」に設定します。次に、再構築します。私はそれを修正するに違いない。

于 2009-06-09T20:12:36.053 に答える