2010-11-30 10 views
2

WP7で各ページの背景イメージを使用し、背景を透明に保ちません。
私が知っておく必要がある提案や問題はありますか?WP7ページの背景イメージ

また、私はCacheModeプロパティに気づいた。
各ページのバックグラウンドがページ全体で同じになるようにすると、パフォーマンスを向上させることはできますか?

答えて

5

画像コントロールを作成して、表示をいっぱいにし、他のコントロールをその前面に置くことができます。

このコントロールを再描画する必要がある場合は、ビットマップキャッシュを使用すると、コントロールを繰り返しラスタライズするオーバーヘッドを節約できます。

+0

ミック、ありがとう。あなたは常に手助けすることができます。私は、ページ全体の背景を表示するために、ページのメイングリッド上にイメージブラシを使用しています。 CacheModeプロパティを使用してビットマップのキャッシュを設定する必要がありますか?バックグラウンドはすべてのページでキャッシュされるか、各ページごとにロードされます。多分最後の部分は当てはまりませんが、私はASP.NETの世界から来ています:) –

+0

@Pratikページレベルでそれらを定義すると、別のページがリソース/背景を共有するとは思わない - ページを指すことができるかもしれないあなたがパフォーマンスについて心配しているなら、アプリケーションレベルで定義されたイメージブラシの背景ですが、巨大なイメージを使用していない限り、正直言ってもそれほど心配しません。あなたがダウンロードしたものをキャッシュするのが大好きです。 –

+0

Blakomenは各ページに自分自身の背景があるという点で正しいです。ビットマップのキャッシュ私はあなたが再描画をしている場合のみ心配します。ビットマップキャッシュとは、ラスタライズされた(ビットマップ)レンダリングがメモリに保持されているコントロール(背景にイメージブラシを適用した場合のグリッド)を描画することを意味します。それはすべてです。ソースイメージを読み込んだファイルシステムをキャッシュしていません。 –

0

あなたが知っておくべきパフォーマンスの問題のカップルがあります:

1)大きな画像はContentなくResourcesとしてコンパイルされていることを確認します。 Resourceとしてコンパイルすると、バイナリ実行可能ファイル自体にイメージが構築されます。これにより、起動時にメモリにロードするためのサイズがはるかに大きくなります。

ジェフ・ウィルコックス:

あなたがパノラマを使用している場合、あなたが本当に.jpgファイルではなく、透明度の使用を必要としない限り、リソース 背景はすぐ コンテンツ

2と比較して)ロードされます.png。 .jpgデコードアルゴリズムは.pngよりも大幅に高速です。しかし、圧縮には注意が必要です。ディスク上の小さな画像とは、一旦メモリに展開されると、はるかに多くのメモリを消費します。

1

あなたは、各ページにプッのではなく、PhoneApplicationFrameの上に置くことができます:それは、その後一度だけロードされ、すべてのために...

7

2段階:
(1)
<phone:PhoneApplicationPage
で はシェルを設定:SystemTray.IsVisible


= "FALSE"(2)

<Grid x:Name="LayoutRoot"> 
<Grid.Background> 
<ImageBrush ImageSource="Assets/Images/Flowers.png"></ImageBrush> 
</Grid.Background> 
関連する問題