2017-08-29 5 views
0

私は、複数のクラス、モデルなどで小さなAPIを書いています。私は多くのプロジェクトで使用しています。この小さなDLLには、ユーザーコントロールであるAbout.xamlがあります。このUCは次のようになりイメージを持っていますC#DLLからの画像がロードされない

<Image Source="pack://application:,,,/DeBy API;component/Resources/DBLogo200x200.png"/> 

URIがResources.resx(パブリック)にもあるリソース(埋め込まれていない)としてマークされた画像上で参照するこの画像を。

私のアプリケーションでは、このUCをContentControlに追加します。すべてが機能します。 UCにあるテキストとリンクが表示されます。しかし、イメージは表示されません。私がそれをデバッグしているとき、VS17はImageコントロールのSourceプロパティがnullであるとも言います。

これは、初めてDLLでイメージリソースを使用しようとしています。

私が間違っていることを誰かが説明できますか?

ありがとうございました。

+2

「デビのAPI」?名前のスペース?それを2回確認してください。 – Gusman

+0

コードソースからそのリソースを読み込もうとしましたか?それはXamlが何をしないのかを例外をスローするでしょう:)それはちょっと待ってください。 –

+0

@Gusman Spacesはうまくいかないのですか? URLに%20のような代替物がありますか?または、アセンブリの名前を変更して領域を削除する必要がありますか? –

答えて

0

アセンブリ名のスペースを使用すると、このようなトラブルが発生します。 &#x20をxamlでエスケープすることはできますが、将来の問題を避けるために、DLLの名前を変更してその名前からスペースを削除する方が常に良いでしょう。

bwoggieあなたが命名のために、Microsoftのガイドラインを見てみるべきで推奨されているように:https://msdn.microsoft.com/en-us/library/ms229002(v=vs.100).aspx

+0

C#の命名規則のリンクをここに示します。https://msdn.microsoft.com/en-us/library/ms229002(v=vs.100).aspx – bwoogie

+0

@bwoogie私は答えにそのリンクを追加するつもりですが、それは非常に便利です。 – Gusman

関連する問題