私は最近WinFormsを教えていますが、今ではより近代的なWPFに切り替えました。
現時点で混乱しているのは、画像を使用していることだけです。これで、WinFormsでリソースとしてインポートし、/ bin/Debugフォルダーでコンパイルされたときにイメージが引き続き機能します。
WPFでこれを機能させる方法がわかりません。画像を/Projects/AppName/images/
に保存し、アプリケーションを実行すると/Projects/AppName/bin/Debug
にコンパイルされるため、画像が読み込まれません。デバッグモードで実行します。
Imagesフォルダーのコピーを作成して、アプリケーションがコンパイルされた場所に置くだけでいいですか?または、別の方法があります。画像を表示するコードは次のとおりです。
<Image Width="300">
<Image.Source>
<BitmapImage DecodePixelWidth="300" UriSource="/images/jamsnaps-dark.png" />
</Image.Source>
</Image>
images
)を作成します。Build Action
からResource
([プロパティ]ウィンドウで、 この回答 の2番目の画像を参照)。次に、すでに行ったようにUriSource
プロパティを記述します。
UriSource="/images/jamsnaps-dark.png"
そのURIは実質的に Resource File Pack URI で、WPFによってプレフィックスが自動的に追加されます。
Include in Project
ビルドアクションは、デフォルトでResource
に設定する必要があります。
その後、ルートに関連するイメージパスの使用を開始できます。 images/text.jpg
images
というフォルダーに配置した場合。
2つのオプション:
1)bin/Debugから出て、../.. /でアプリケーションフォルダーに移動し、次にイメージに移動します。
<Image>
<Image.Source>
<BitmapImage UriSource="../../images/jamsnaps-dark.png" />
</Image.Source>
</Image>
2)イメージファイルのコンテキストメニューのプロパティからイメージをコンテンツとしてコンパイルし、コンパイルするとデバッグに配置されます。プロパティでローカルをコピーするように指示する必要があるかどうか覚えていません(今はコンピューターの近くにいないのでチェックできません。