ウィンドウに画像が必要なプロジェクトがあります。これは静的な画像で、[追加]> [既存のアイテム]で追加しました。プロジェクトのルートに存在します。
私はそのようにテストページで画像を参照します-
<Page x:Class="Critter.Pages.Test"
xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
Title="Test">
<Image Source="bug.png"/>
</Page>
問題は、それが見つからない、またはビルドアクションがリソースではないというメッセージが表示されることですが、存在し、ビルドアクションISリソースです。新しいアプリケーションを作成し、ウィンドウ上でそれはそれからうまくいきます。
どんな助けでも素晴らしいでしょう。
完全な再構築を実行するか、ビルドファイルを削除してからファイルをビルドしてください。
Visual Studioは常にリソースへの変更を取得するとは限らず、再コンパイルするのが面倒な場合があります。
また、同じ問題が発生したときに役立つ完全なURIを使用してみてください。何かのようなもの
pack://application:,,,/MyAssembly;component/bug.png
→イメージファイルを右クリック→プロパティをクリック→リソースへのビルドアクションを選択→ソリューションのクリーンアップとビルド→ソリューションの実行
あなたはすべてを取得します。
同じ問題がありました。ソリューションのクリーニングと再構築では修正されなかったため、Visual Studioを再起動すると修正されました。 Visual 2010がこの問題を修正し、Visual 2008でwpfを悩ませている他の多くの問題が修正されることを期待しています。
「/」で画像のパスを開始してみてください:
<Image Source="/bug.png"/>
あなたの質問に対する解決策があります
<Image Source="/WpfApplication4;component/images/sky.jpg" />
「コンポーネント」はフォルダではありません!
そうではない、または少なくとも現在のベータではそうではない。まったく同じ問題を調査しているときに、このページを見つけました。再構築/クリーンは何もしませんでした。ソリューションを終了してリロードした後、ファイルは魔法のように再び互換性を持つようになりました。
非同期ロードの例、別のオプション。例clip.mp4はWebプロジェクトのルートにあります。
void Landing_Loaded(object sender, RoutedEventArgs e)
{
//Load video async
Uri pageUri = HtmlPage.Document.DocumentUri;
Uri videoUri = new UriBuilder(pageUri.Scheme, pageUri.Host, pageUri.Port, "clip.mp4").Uri;
WebClient webClient = new WebClient();
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
webClient.OpenReadAsync(videoUri);
}
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
byte[] VideoBuffer = new byte[e.Result.Length];
e.Result.Read(VideoBuffer, 0, (int)e.Result.Length);
MemoryStream videoStream = new MemoryStream(VideoBuffer);
ContentVideo.SetSource(videoStream);
ContentVideo.Stop();
ContentVideo.Play();
}
私はまったく同じ問題に直面しましたが、VS2008を再起動するか、プロジェクトをクリーンアップして再構築してもうまくいきませんでした。最後に、以下の手順でうまくいきました。
"Source="Resources/MyImage.ico"
(私の画像はアイコン(.ico)ファイルとして保存されましたが、このアプローチはどの画像タイプでも機能するはずです。これが誰かを助けることを願っています
同様の問題がありました。ソリューションエクスプローラーから、実際には使用していないsomeStyle.xaml
ファイルを削除した後。その後、ファイルを復元しましたが、変更はありませんでした。プロジェクトのクリーニングと再構築は役に立ちませんでした。
対応する行を削除するだけです:
<ResourceDictionary Source="someStyle.xaml"/>
トリックをしました。
同じエラーメッセージが表示されましたが、私の問題は単純なNOOBミスでした。
.icoファイルを「My Project/Resources」に追加すると、VSはResourcesという名前のサブフォルダーを作成し、使用しようとしました。
<Window Icon="icons1.ico">
私が使用すべきだったとき;
<Window Icon="Resources/icons1.ico">
...判断しないでください、私は1週間前にWPFを使い始めました:)