0

私はWP7プログラミングは初めてですが、他のプラットフォームでXPを使用しています。言語を理解できるようにすべての基本を実行しているだけですが、バックグラウンドイメージのソースを入力した障害にぶつかりました:

<Grid x:Name="LayoutRoot">
    <Grid.Background>
        <ImageBrush ImageSource="C:/users/hypernova/pictures/Background1.jpg">
        </ImageBrush>
    </Grid.Background>
</Grid>

XAML の横にある [デザイン] タブに画像が背景として表示されますが、デバッグしてエミュレーターを起動すると、背景画像のない黒い画面しか表示されません。次のような背景を設定する他の方法を試しました:

<Grid x:Name="LayoutRoot">
  <Canvas>
    <Canvas.Background>
      <ImageBrush ImageSource="C:/users/hypernova/pictures/Background1.jpg">
      </ImageBrush>
    </Canvas.Background>
  </Canvas>
</Grid>

しかし、同じことが起こります。他のいくつかの方法も試しましたが、やはり何もありません。キャッチすべきものを見逃したと確信しています。

4

1 に答える 1

0

パス

C:/users/hypernova/pictures/Background1.jpg

Windows Phone 7 以降のデバイスではなく、開発マシンに存在します。

ユーザーはストアからアプリをダウンロードし、携帯電話で実行することを忘れないでください。彼らはどのようにしてあなたのハード ドライブにアクセスし、その画像を取得するのでしょうか?

残念ながら、デザイン サーフェイスではこれが可能であるため、もちろん、新しい開発者にとっては混乱を招く可能性があります。

すべきことは、画像を Resource としてプロジェクトに追加し、 URIを介してリソースを参照するpackことです (自分を怖がらせたくない場合は、そのリンクをクリックしないでください)。

リソースとして追加するには、画像を WP7 プロジェクトのルートに追加し、右クリックして [プロパティ] を選択し、ビルド アクションを [リソース] に変更します (埋め込みリソースではありません)。

次に、packこのリソースの URI を作成する必要があります。これは...簡単ではありません。デザイナーで ImageBrush のプロパティを編集することにより、Visual Studio のツールを使用してこれを行うことができます。これは、最も簡単で推奨されるルートです。ImageSourceプロパティツールウィンドウでを編集ImageBrushし、ソリューションで使用可能な画像のリストから画像を選択するだけです。

packもう 1 つの方法は、 URIを手動で作成することです。たとえば、次のようにすることができます

/[プロジェクト アセンブリ名];component/Background1.jpg

[project assembly name]アセンブリの名前 (拡張子なし) に置き換えて、それをImageSource値として使用します。プロジェクト プロパティの [アプリケーション] セクションにある [アセンブリ名] を調べると、正しいプロジェクト アセンブリ名を見つけることができます。

<ImageBrush ImageSource="/MyWp7Application;component/Background1.jpg"/>

プロジェクト フォルダ構造の構築方法によっては、この URI が異なる場合があることに注意してください。提供されたツールの外部で正しい URI を構築することは、別の質問に値するタスクです。

于 2012-11-12T17:27:55.067 に答える