0

XAML で 10 ~ 20 個の画像を使用していますが、そのすべてのファイルをアプリに配布したくありません。この記事を参照するこの質問を読みました。埋め込みリソースの使用方法について説明します。問題は、リフレクションを使用してそのリソースのコードを使用しているように見えることです。私の場合、画像を次のように宣言しています。

<Rectangle Width="30" Visibility="{Binding IsChecked, ElementName=maxCheck, Converter={StaticResource BoolVisConverter}}" Margin="-1 0 0 0">
 <Rectangle.Fill>
           <ImageBrush ImageSource="../Images/max.jpg" Stretch="Uniform"/>                  </Rectangle.Fill>
   </Rectangle>

他にもSplashScreenマージしたい があります。できればアイコンも入れたいです。

私はたくさん検索しましたが、まだこの問題の簡単な解決策を見つけることができません。理想的なシナリオは、プログラムの実行に必要なすべてのファイルを単一の .exe にマージできることです。これは、このプログラムが移動可能であることを期待しているためです。ユーザーは、プログラムを共有するときにいくつかのファイルをコピーすることを簡単に忘れてしまいます。

これを達成するためのガイド、トリックなどはありますか? どうもありがとうございました。

私はVS2012を使用しており、.NET 4をターゲットにしています

4

1 に答える 1

1

XAML と WPF では、画像の使用Resourceは (比較的) 簡単です。Pack URIを読んでください。Solution Exploreras Resource(not )で画像をマークEmbedded Resourceし、pack URI で参照します。例えば:

<Rectangle Width="30"
           Visibility="{Binding IsChecked, ElementName=maxCheck, Converter={StaticResource BoolVisConverter}}"
           Margin="-1 0 0 0">
    <Rectangle.Fill>
        <ImageBrush ImageSource="pack://application:,,,/Images/max.jpg"
                    Stretch="Uniform"/>
    </Rectangle.Fill>
</Rectangle>
于 2013-09-15T13:33:31.327 に答える