2012-06-26 1 views
7

問題が発生しました。私は自分のアプリケーションにMicrosoft Ribbon Frameworkを実装しました。今、私は1つのボタンのアイコンを設定したかったのです。だから私は書いた:リソースから画像を設定するとXamlParseExceptionが発生する

<Ribbon:RibbonButton Header="Create Project" LargeImageSource="pack://application:,,,/Resources/document_empty.png" /> 

をしかし、毎回私はアプリを起動し、私は内部例外で、この行の「XamlParseException」を得た:「ファイルが見つかりません」。

なぜこれはそうですか?私は理解していない、なぜそれがイメージを見つけることができないのですか?それはちょうどアセンブリのリソースに置かれています。デザイナーがそれを示していて、コードが構文エラーなどのように強調表示されませんでした。

この問題もありますか?

ありがとうございます!

+0

何単にあなたの場合'LargeImageSource =" Resources/document_empty.png "'を設定しますか? 'pack:// application:'は自動的に行われます。 – Clemens

+0

同じ問題。私は "/Resources/document_empty.png"と "/Resources\document_empty.png"を試してみました... – SharpShade

+1

うわー、 'document_empty.png'のビルドアクションは' Resource'ですか? – Clemens

答えて

19

正確に指定していないので、アプリケーションのProperties \ resources.resx部分を使用していると仮定します。もしそうなら、これはWPFアプリケーションにとって望ましい方法ではありません。

このpost on SO

は代わりに、あなたのアセンブリ内のフォルダを作成し、そこにあなたのイメージを配置し、リソースへのビルドアクションを設定してください。

参照画像:あなたのマークアップを使用packUriで enter image description here

パック://アプリケーション:,,, /画像/ IMG.jpg

+0

ああ、知っておいてよかった。はい、私は.resx部分を使用しています。 しかし、たとえ私が自動的に "リソース"コンパイルアクションにアセンブリの "リソース"フォルダに作成されたイメージを変更すると、私は同じ結果を得る... – SharpShade

+0

イメージを明確にする必要が追加されました。アプリケーションのresx部分を使用しないでください。ヒント:イメージが複数ある場合は、イメージが存在する別のアセンブリを作成し、他のアセンブリからそれらを参照することを検討します。 – SvenG

+0

チップのおかげで、私は間違いなくこれを行います。 ところで...それはまだ動作しません。 私はいつもこのParseExceptionを取得します。これは私のURIです: "<リボン:RibbonButton Label ="プロジェクトの作成 "LargeImageSource =" pack:// application:,,,/Icons/document_empty.png "/>" URIを使用して他のアセンブリに? – SharpShade

関連する問題