2012-06-26 21 views
7

मुझे कुछ परेशानी मिली। मैंने अभी माइक्रोसॉफ्ट रिबन फ्रेमवर्क को अपने आवेदन में लागू किया है। अब मैं एक बटन के लिए एक आइकन सेट करना चाहता था। तो मैं ने लिखा है:संसाधनों से छवि सेट करने पर XamlParseException

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

लेकिन हर मैं अनुप्रयोग शुरू, मैं एक "XamlParseException" इस पंक्ति में है, भीतरी अपवाद के साथ: "फ़ाइल नहीं मिली"।

ऐसा क्यों है? मुझे समझ में नहीं आता, यह छवि क्यों नहीं ढूंढती है। यह सिर्फ विधानसभा के संसाधनों में रखा गया है। डिजाइनर दिखाता है और कोड हाइलाइट नहीं किया गया है क्योंकि यह एक वाक्यविन्यास त्रुटि या ऐसा कुछ था ...

कोई भी जिसके पास यह समस्या भी है?

धन्यवाद!

+0

क्या आप अगर बस 'LargeImageSource = "संसाधन/document_empty.png" 'सेट करें? 'पैक: // आवेदन: 'सामान स्वचालित रूप से किया जाना चाहिए। – Clemens

+0

वही समस्या। मैंने कोशिश की "/Resources/document_empty.png" और "/Resources\document_empty.png" कुछ भी काम नहीं किया ... – SharpShade

+1

हम्म, और 'document_empty.png' के लिए बिल्ड एक्शन 'संसाधन' है? – Clemens

उत्तर

19

जैसा कि आपने बिल्कुल निर्दिष्ट नहीं किया है, मुझे लगता है कि आप अपने आवेदन के गुण \ संसाधन.resx भाग का उपयोग कर रहे हैं? यदि ऐसा है तो यह एक डब्ल्यूपीएफ आवेदन के लिए वांछित तरीका नहीं है।

इस post on SO

इसके बजाय अपने विधानसभा में एक फ़ोल्डर बनाने देखें, वहाँ में आपकी छवियों जगह है और इसके निर्माण कार्रवाई संसाधन निर्धारित किया है। चित्र

देखें: enter image description here

अपने मार्कअप का उपयोग packUri में:

पैक: // आवेदन: ,,,/images/IMG.jpg

+0

आह, जानना अच्छा है। हाँ मैं .resx भाग का उपयोग कर रहा हूँ। लेकिन अगर मैं "संसाधन" संकलन-क्रिया में असेंबली में स्वचालित रूप से "संसाधन" फ़ोल्डर में बनाई गई छवियों को बदलता हूं, तो मुझे एक ही परिणाम मिल जाता है ... – SharpShade

+0

एक छवि जो इसे स्पष्ट करनी चाहिए; अपने आवेदन के resx भाग का उपयोग न करें। युक्ति: यदि आपके पास कुछ छवियों से अधिक है तो मैं एक अलग असेंबली बनाने पर विचार करता हूं जहां छवियां रहती हैं और उन्हें आपके अन्य असेंबली से संदर्भित करती हैं ... – SvenG

+0

टिप के लिए धन्यवाद, मैं निश्चित रूप से ऐसा करूँगा। लेकिन वैसे भी ... यह अभी भी काम नहीं करता है। मुझे हमेशा यह पारसे अपवाद मिलता है। यह मेरा यूआरआई है: "<रिबन: रिबन बटन लेबल =" प्रोजेक्ट बनाएं "LargImageSource =" pack: // application: ,,,/प्रतीक/document_empty.png "/>" और दूसरा प्रश्न: मैं कैसे लिंक करूं एक यूआरआई का उपयोग कर अन्य असेंबली के लिए? – SharpShade