क्या WPF में संसाधन शब्दकोश के पीछे कोड सेट करना संभव है। उदाहरण के लिए एक बटन के लिए उपयोगकर्ता नियंत्रण में आप इसे एक्सएएमएल में घोषित करते हैं। बटन क्लिक के लिए ईवेंट हैंडलिंग कोड नियंत्रण के पीछे कोड फ़ाइल में किया जाता है। यदि मैं एक बटन के साथ डेटा टेम्पलेट बनाना चाहता था, तो मैं इसके बटन के लिए इवेंट हैंडलर कोड कैसे लिख सकता हूं संसाधन संसाधन के भीतर क्लिक करें।क्या ईवेंट हैंडलिंग के लिए डब्ल्यूपीएफ में संसाधन शब्दकोश के पीछे कोड सेट करना संभव है?
उत्तर
मुझे लगता है कि आप क्या पूछ रहे हैं कि आप संसाधन डॉट के लिए कोड-बैक फ़ाइल चाहते हैं। आप इसे पूरी तरह से कर सकते हैं! असल में, आप इसे विंडो के समान ही करते हैं:
कहें कि आपके पास MyResourceDictionary नामक संसाधन संसाधन है। मूल तत्व में कक्षा विशेषता तो जैसे: अपने MyResourceDictionary.xaml फ़ाइल में, x डाल
namespace MyCompany.MyProject
{
partial class MyResourceDictionary : ResourceDictionary
{
public MyResourceDictionary()
{
InitializeComponent();
}
... // event handlers ahead..
}
}
:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MyCompany.MyProject.MyResourceDictionary"
x:ClassModifier="public">
फिर, निम्नलिखित घोषणा के साथ कहा जाता है MyResourceDictionary.xaml.cs फ़ाइल के पीछे एक कोड बनाने
और आप कर चुके हैं। आप जो भी कोड चाहते हैं उसे पीछे रख सकते हैं: विधियों, गुणों और ईवेंट हैंडलर।
<Application x:Class="SampleProject.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:rd="using:MyCompany.MyProject">
<!-- no need in x:ClassModifier="public" in the header above -->
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!-- This will NOT work -->
<!-- <ResourceDictionary Source="/MyResourceDictionary.xaml" />-->
<!-- Create instance of your custom dictionary instead of the above source reference -->
<rd:MyResourceDictionary />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
सुनिश्चित करें कि आप आंशिक श्रेणी कोडबेंड में एक डिफ़ॉल्ट कन्स्ट्रक्टर प्रदान करते हैं, और सुनिश्चित करें कि यह InitializeComponent() को कॉल करता है। (मेरे मामले में मैं संसाधन शब्दकोश निर्यात करने के लिए एमईएफ का उपयोग कर रहा था।) –
धन्यवाद उम्रदराज! मुझे जिस चीज की जरूरत थी। – Brad
अपवित्र टिप्पणी के लिए अद्यतन कोड स्निपेट। मुझे लगा कि जवाब को पूरा करने के लिए इसकी आवश्यकता थी; एक आम गलती मैंने अभी यह किया :) अगर आप इसे पसंद नहीं करते हैं तो वापस लौटें। जवाब के लिए धन्यवाद। – Gishu
एक्सएएमएल ऑब्जेक्ट ग्राफ़ बनाने के लिए है जिसमें कोड नहीं है।
डेटा टेम्पलेट का उपयोग यह इंगित करने के लिए किया जाता है कि कस्टम उपयोगकर्ता-ऑब्जेक्ट को स्क्रीन पर कैसे प्रस्तुत किया जाना है ... (उदा। यदि यह एक सूची बॉक्स आइटम है) व्यवहार डेटा टेम्पलेट के विशेषज्ञता क्षेत्र का हिस्सा नहीं है। समाधान को दोबारा हटाएं ...
निष्कर्ष: क्या आप संसाधन डिक का उपयोग कोड के पीछे या नहीं करने की सलाह देंगे ?? मैंने कभी इसका इस्तेमाल नहीं किया है, मैं संदेह कर रहा हूं। – Shimmy
मैं नहीं करता - मेरे लिए यह सही महसूस नहीं करता है। एक शब्दकोश को विशिष्ट कुंजी के लिए मान वापस करना चाहिए। ओपी के मामले में, डेटा टेम्पलेट के साथ कोड बंडल करना .. मैं एक अलग दृष्टिकोण की कोशिश करना चाहता हूं .. उदाहरण के लिए कमांड मॉडल का उपयोग करें। एक diff soln की सिफारिश करने के लिए मुझे ओपी की समस्या पर अधिक जानकारी चाहिए। – Gishu
पूरी तरह से असहमत। एमवीवीएम के साथ, एक परिदृश्य है जहां पीछे कोड होना बेहद उपयोगी है: संलग्न गुण विकसित करना। इसे कोड के पीछे काम करके प्राप्त करें, फिर उसे संलग्न संपत्ति पर बंद करें। यह स्क्रैच से जुड़ी संपत्ति को विकसित करने से कहीं अधिक तेज है, जब तक कि आपके पास मस्तिष्क का मैनहट्टन का आकार न हो। – Contango
मैं से असहमत: विंडोज 10 क्षुधा ==
के लिए और बस मामला आप UWPसाथ खेल रहे हैं में
== अद्यतन के बारे में पता होना करने के लिए एक और बात है "आयु वर्ग" ... आंशिक वर्ग की विधि का उपयोग करना एक अच्छा अभ्यास नहीं है। फिर पृष्ठ से शब्दकोश को अलग करने का उद्देश्य क्या होगा? का उपयोग करके नाम तत्व:
एक कोड-पीछे से, आप एक एक्स का उपयोग कर सकते
Button myButton = this.GetTemplateChild("ButtonName") as Button;
if(myButton != null){
...
}
आप OnApplyTemplate विधि में this कर सकते हैं यदि आप नियंत्रण जब आपके कस्टम नियंत्रण लोड करने के लिए जोड़ने का काम करना चाहते हैं। ऐसा करने के लिए OnApplyTemplate को ओवरराइड करने की आवश्यकता है। यह एक आम प्रथा है और आपकी शैली को नियंत्रण से डिस्कनेक्ट होने की अनुमति देती है। (शैली को नियंत्रण पर निर्भर नहीं होना चाहिए, लेकिन नियंत्रण शैली पर निर्भर होना चाहिए)।
फोबिस मुझे लगता है कि पृष्ठ से शब्दकोश को अलग करने का उद्देश्य मुख्य पृष्ठ xaml की पुन: प्रयोज्यता और पठनीयता के बारे में है। उपरोक्त समाधान भी मेरे लिए काम किया। – cleftheris
Gishu - जबकि यह एक "आम तौर पर प्रोत्साहित किया जाना नहीं अभ्यास" यहाँ एक कारण आप क्या करना चाहते हो सकता है जैसा लग सकता है यह:
पाठ बॉक्स के लिए मानक व्यवहार जब वे ध्यान केंद्रित कैरट के लिए है मिल उसी स्थिति में रखा जाना चाहिए जब नियंत्रण फोकस खो गया था। यदि आप अपने पूरे एप्लिकेशन को प्राथमिकता देते हैं कि जब उपयोगकर्ता किसी भी टेक्स्टबॉक्स पर टैब करता है कि टेक्स्टबॉक्स की पूरी सामग्री को हाइलाइट किया गया था तो संसाधन शब्दकोश में एक सरल हैंडलर जोड़ना चाल करेगा।
कोई अन्य कारण जहां आप डिफॉल्ट उपयोगकर्ता इंटरैक्शन व्यवहार बॉक्स व्यवहार से अलग होना चाहते हैं, संसाधन संसाधन में पीछे कोड के लिए अच्छे उम्मीदवारों की तरह लगता है।
पूरी तरह से सहमत हैं कि एप्लिकेशन कार्यक्षमता विशिष्ट कुछ भी संसाधन संसाधन के पीछे कोड में नहीं होना चाहिए।
- 1. डब्ल्यूपीएफ - कोड के पीछे कोड/संलग्न व्यवहार
- 2. क्या डब्ल्यूपीएफ में एक स्थिर संसाधन के लिए एक प्रकार कनवर्टर की आपूर्ति करना संभव है?
- 3. डब्ल्यूपीएफ इकाइयों और कोड-पीछे
- 4. xClassNotDerivedFromElement त्रुटि Silverlight में संसाधन शब्दकोश के पीछे कोड जोड़ते समय
- 5. संसाधन शब्दकोश
- 6. डब्ल्यूपीएफ सेट ने कोड के पीछे कोड तत्वों का नाम दिया?
- 7. INotifyPropertyChanged: दृश्य के पीछे क्या होता है?
- 8. डब्ल्यूपीएफ हर उपयोगकर्ता नियंत्रण में संसाधन शब्दकोश विलय - बुरा विचार?
- 9. विलय संसाधन शब्दकोश
- 10. संसाधन शब्दकोश
- 11. पृष्ठभूमि कार्यकर्ता ईवेंट हैंडलिंग
- 12. क्या कोड लिखने के लिए कोड लिखना संभव है?
- 13. क्या ब्राउज़र पर डब्ल्यूपीएफ एप्लीकेशन चलाने के लिए संभव है?
- 14. पायथन में शब्दकोश के लिए प्रारंभिक आकार कैसे सेट करें?
- 15. क्या बाध्यकारी इनलाइन (संसाधन के बिना) के लिए कनवर्टर परिभाषित करना संभव है?
- 16. क्या यह एक div सेट के बच्चे के लिए पॉइंटर-इवेंट्स के लिए संभव है: पॉइंटर ईवेंट नहीं है?
- 17. डब्ल्यूपीएफ/एक्सएएमएल स्टाइल सेट बच्चों के सामान के लिए संपत्ति?
- 18. क्या एक शाखा में काम करने के सेट को पीछे हटाना संभव है?
- 19. वसंत @ संसाधन हैंडलिंग
- 20. एचटीएमएल 5 वीडियो टैग: क्या नेटवर्क संसाधन में स्रोत सेट करना संभव है?
- 21. कोड-पीछे
- 22. क्या वीआईएम के साथ सी ++ कोड प्रारूपित करना संभव है?
- 23. क्या रिशेर्पर के माध्यम से कोड सॉर्ट करना संभव है?
- 24. क्या एकाधिक परियोजनाओं के बीच संसाधन संसाधन फ़ाइल साझा करना संभव है?
- 25. क्या सी # में इवेंट हैंडलर को "चेन" करना संभव है?
- 26. क्या अनाम कार्यों में ब्रेकपॉइंट सेट करना संभव है?
- 27. क्या एक्लिप्स के साथ मैक्स कोड डीबग करना संभव है?
- 28. सक्रिय संसाधन त्रुटि हैंडलिंग
- 29. क्या ड्रैगिंग ईवेंट का उपयोग करना संभव है और उसी टेक्स्टव्यू पर ईवेंट पर क्लिक करना संभव है?
- 30. क्या दृश्य स्टूडियो 9 में एक विशिष्ट शब्द के लिए रंग सेट करना संभव है?
ऐसा करने का सही तरीका एक कमांड का उपयोग करना है, यह आपको बटन को सक्षम और अक्षम करने की क्षमता भी देता है, जबकि आप इसे कुछ तरीकों से सुझाव दे सकते हैं कि यह एक हैक के लिए गंध करता है। –