से डब्ल्यूपीएफ एक्सएएमएल संसाधनों को एक्सेस करना मैं वर्तमान में एक ऐसे अनुप्रयोग का निर्माण कर रहा हूं जिसमें कई घटक शामिल हैं, जिनमें से प्रत्येक प्लगइन सिस्टम के लिए काम करने के लिए इसके आसपास एक छोटे सी # कोड के साथ अनिवार्य रूप से एक डब्ल्यूपीएफ उपयोगकर्ता नियंत्रण है (एमईएफ का उपयोग करके) ।गैर-डब्ल्यूपीएफ कोड
मेरी समस्या यह है कि प्रत्येक घटक में एक आइकन शामिल होना चाहिए और अच्छी तरह से प्रयोजनों के लिए मैंने परिभाषित किया है कि System.Windows.Media.Brush
के रूप में मैं केवल डिजाइन से निर्यात किए गए DrawingBrush
का उपयोग कर सकता हूं।
private Brush CachedIcon = null;
public override Brush Icon
{
get
{
if (CachedIcon == null)
{
CachedIcon = (Brush)(new BlahControl().TryFindResource("Icon"));
}
return CachedIcon;
}
}
मुझे लगता है कि पढ़ने के लिए एक तरह से नहीं मिल सका: अब मैं से गैर WPF सी # XAML के उस टुकड़े जहां मैं वर्तमान में उपयोगकर्ता नियंत्रण instantiating और संसाधन के लिए यह पूछने का भयानक वैकल्पिक हल है का उपयोग करने की जरूरत है संसाधन (जो एक .xaml फ़ाइल है, और कस्टम नियंत्रण में ResourceDictionary
में संदर्भित) "सामान्य" सी # कक्षा से। डब्ल्यूपीएफ से संबंधित कुछ भी अच्छी TryFindResource
विधि है लेकिन अन्यथा ऐसा कैसे करें? मैं एक्सएएमएल फ़ाइल को अन-एम्बेडेड के आसपास झूठ बोलने वाले आइकन के साथ नहीं रखना चाहता हूं।
काम करने लगता है, लेकिन वेयररी हैकिश दिखता है। स्वचालित रूप से जेनरेट किए गए संसाधनों के आंतरिक नामों पर निर्भर होने से मुझे बहुत सलाह नहीं मिलती है। – Joey
एह? संसाधनों के पास स्ट्रिंग नाम हैं, इसके बारे में आप कुछ भी नहीं कर सकते हैं! तुम क्या ढूंढ रहे हो? – TFD
मैं बस सोच रहा था कि ".gresresources" चीज़ कितनी भरोसेमंद साबित होगी। मैंने रेमंड चेन के ब्लॉग को काफी पढ़ा है कि मैं वास्तव में ऐसा कुछ भी नहीं करना चाहता जो टूट सकता है क्योंकि यह केवल कार्यान्वयन का एक आर्टिफैक्ट है, दस्तावेज व्यवहार नहीं। – Joey