2012-06-26 16 views
7

Mam problem. Właśnie zaimplementowałem Microsoft Ribbon Framework do mojej aplikacji. Teraz chciałem ustawić ikonę dla jednego przycisku. Więc napisałem:Wyjątek XamlParseException przy ustawianiu obrazu z zasobów

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

ale spędzaj uruchomić aplikację, mam „XamlParseException” w tej linii, z wyjątkiem wewnętrznej: „File not found”.

Dlaczego, u diabła, tak jest? Nie rozumiem, dlaczego nie znajduje obrazu. Jest po prostu umieszczony w zasobach zgromadzenia. Projektant pokazuje, a kod nie jest wyróżniany, ponieważ był to błąd składniowy lub coś podobnego ...

Ktoś, kto również ma ten problem?

Dzięki!

+0

Co jeśli po prostu ustaw "LargeImageSource =" Resources/document_empty.png "'? Kompilacja 'pack: // application:' powinna być wykonywana automatycznie. – Clemens

+0

Ten sam problem. Próbowałem "/Resources/document_empty.png" i "/Resources\document_empty.png" nic nie działało ... – SharpShade

+1

Hmm, a Build Action dla 'document_empty.png' to' Resource'? – Clemens

Odpowiedz

19

Jak nie określono dokładnie, zakładam, że używasz części Properties \ resources.resx swojej aplikacji? Jeśli tak, nie jest to pożądany sposób dla aplikacji WPF.

Zobacz ten post on SO

Zamiast utworzyć folder w swoim zespole, umieścić swoje zdjęcia tam i ustawić jego działanie na gromadzeniu zasobów.

See obrazku: enter image description here

W swojej Markup wykorzystać do packUri:

paczka: // aplikacja: ,,,/images/IMG.jpg

+0

Ach, dobrze wiedzieć. Tak, używam części .resx. Ale nawet jeśli zmienię obrazy automatycznie utworzone w folderze "Zasób" w zespole na "Zasób" Skompiluj akcję, otrzymam taki sam wynik ... – SharpShade

+0

Dodano obraz, który powinien uczynić go jaśniejszym; nie używaj części resx swojej aplikacji. Wskazówka: Jeśli masz więcej niż kilka zdjęć, zastanawiałbym się nad stworzeniem osobnego zestawu, w którym znajdują się obrazy i odniesienie ich do innych zgromadzeń ... – SvenG

+0

Dzięki za wskazówkę, zdecydowanie to zrobię. Ale przy okazji ... nadal nie działa. Zawsze otrzymuję ten wyjątek ParseException. To jest mój URI: "" I kolejne pytanie: Jak mogę utworzyć do innego zestawu przy użyciu identyfikatora URI? – SharpShade

Powiązane problemy