1

画像を四角形の塗りつぶしとして設定できるようにするために、コードの後ろからプロジェクトに画像を含めたいです。私はこの方法で画像を挿入しています:

<Rectangle Grid.Column="2"  Grid.Row="2" Margin="4,4,4,4" Style="{DynamicResource rectangle_style}" >
    <Rectangle.Fill>
        <ImageBrush ImageSource="image.jpg" Stretch="UniformToFill"/>
    </Rectangle.Fill>
</Rectangle>

この背景画像を作成するには、ファイルを右クリックしてプロジェクトに画像ファイルを含め、「プロジェクトに含める」を設定する必要があります。フォルダー内のほとんどのファイルから画像を設定する必要があるため、実行時にコードの背後にある画像を含めるのを手伝ってもらえますか!

4

1 に答える 1

1

1つの方法は、[プロジェクトに含める]または[既存のアイテムを追加する]を実行し、[プロパティ]で[ローカルにコピー]を[常に]に設定することです。

この場合、アプリケーションフォルダのパスを取得する必要があることに注意してください

<ImageBrush ImageSource="c:\[YourPath]\[YourProject]\someImg.png"  Stretch="UniformToFill" />

または、現在のアプリケーションパスを提供するメソッドにバインドします。(SOで回答されたそのような質問がたくさんあるので、これを検索してください)。

つまり、アプリをデプロイするときは、それを使用してイメージをデプロイする必要があります(最終的には、指定したパス構造のbinフォルダーに配置されます)。

別の方法は、同じことを行い、-に設定Build ActionするResourceことです。これにより、アプリケーションはDLL内のイメージでコンパイルされます。欠点は、DLLが大きくなることですが、デプロイするときにファイルをコピーすることを覚えておく必要はありません。

名前でアクセスresourceします(スラッシュなし)

<ImageBrush ImageSource="someImg.png"  Stretch="UniformToFill" />

それが役に立てば幸い!

于 2013-03-19T22:08:41.017 に答える