2

数時間前の質問で見つけた次のコードを使用して、ボタンに画像を作成しています。

            <Button Name="bPlay" Height="70" Width="70" Margin="359,480,349,11">
            <Button.Template>
                <ControlTemplate>
                    <Border HorizontalAlignment="Center" VerticalAlignment="Center">
                        <Image Source="pack://siteoforigin:,,,/Resources/play.bmp" Width="70" Height="70" />
                    </Border>
                </ControlTemplate>
            </Button.Template>
        </Button>

問題は、何らかの理由でVisual Studioで問題なく表示されることですが、プログラムを実行すると、これらのボタンが表示されません。問題が見つからず、少し行き詰まっています。画像play.bmpは明らかにリソースに追加されていますが、それでも問題が何であるかわかりません、ありがとう!

4

2 に答える 2

6

URIの「siteoforigin」は、ファイルが実行中のアセンブリのディレクトリからの相対パスにある必要があることを示します。実行可能ファイルは、ほとんどの場合、bin/Debugフォルダーにあります。実行可能ファイルのサブディレクトリを探していますが、おそらく存在しません( "bin / Debug / Resources / play.bmp")。

その方法でファイルにリンクする場合は、(プロパティペインから)出力フォルダーにファイルをコピーするようにVisualStudioに指示する必要があります。または、自分でコピーします。

または、リソースとしてリンクする必要があります。そうすれば、アプリケーションに埋め込まれます。プロパティペインでファイルのビルドタイプを[リソース]に設定し、プロジェクトフォルダーの相対パスを使用してファイルにリンクします。この場合、文字通りXAMLに「Resources/play.bmp」と記述します。

于 2012-06-06T03:04:06.457 に答える
0

コードを単純化してみてください。おそらく、画像を引き出して、それが表示されるかどうかを確認してください。

<Button Name="bPlay" Height="70" Width="70" Margin="359,480,349,11">
    <Image Source="pack://siteoforigin:,,,/Resources/play.bmp" Width="70" Height="70" />
</Button>

同様に有効である必要があります

于 2012-06-06T03:02:02.827 に答える