埋め込みリソースから WPF 画像ソースをプログラム的に設定する
このガイドでは、アプリケーションのコード内の埋め込みリソースから WPF イメージのソースを動的に設定するという一般的な課題に対処します。 頻繁に発生する問題は、画像データが存在するように見えても、埋め込みリソースが正しく表示されないことです。
解決策: URI をパックする
これを解決する鍵は、パック URI を利用することにあります。 これらの URI は、アプリケーションのアセンブリ内に埋め込まれたリソースを参照するための標準化された方法を提供します。
コード例
これを実現するコード スニペットは次のとおりです。
<code class="language-csharp">BitmapImage logo = new BitmapImage(); logo.BeginInit(); logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png"); logo.EndInit(); image.Source = logo;</code>
パック URI の分解
URI コンポーネントを分解してみましょう:
pack://application:,,,
: これはパック URI のスキーム識別子です。 application:
の後の 3 つのカンマに注意してください – これは重要です。
/AssemblyName;component/Resources/logo.png
: このセクションではリソースの場所を指定します。
AssemblyName
: これを実際のアセンブリ名 (.dll 拡張子なし) に置き換えます。component
: このキーワードは、リソースがメイン アセンブリの一部であることを示します。/Resources/logo.png
: これは、プロジェクトの Resources フォルダー内の画像ファイルへのパスです。 それに応じて調整してください。特殊文字の処理
URI のパス コンポーネント内の予約文字 (「%」や「?」など) を必ず適切にエスケープしてください。
重要なプロジェクト設定
プロジェクトのプロパティで、画像ファイル (この例では「logo.png」) の「ビルド アクション」プロパティが「リソース」に設定されていることを確認します。
次の手順に従うと、埋め込みリソースから WPF アプリケーションに画像を動的に読み込むことができます。
以上が埋め込みリソースから WPF イメージ ソースをプログラムで設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。