2009-08-28 21 views
7

मैं WPF के लिए नया हूं और नीचे दिया गया प्रश्न कई लोगों के लिए मूर्खतापूर्ण दिख सकता है, कृपया मुझे माफ़ कर दो।app.xaml.cs पर निर्भरता संपत्ति

मैं app.xaml.cs में निर्भरता संपत्ति कैसे बना सकता हूं?

दरअसल, मैंने इसे बनाने की कोशिश की। नीचे दिए गए कोड,

public static DependencyProperty TempProperty = 
     DependencyProperty.Register("Temp", typeof(string), typeof(App)); 

    public string Temp 
    { 
     get { return (string)GetValue(TempProperty); } 
     set { SetValue(TempProperty, value); } 
    } 

नीचे संकलन समय त्रुटियों फेंकता है:

नाम 'getValue' वर्तमान संदर्भ

नाम में मौजूद नहीं है 'setValue' वर्तमान संदर्भ में मौजूद नहीं है

क्या कोई इस में मेरी सहायता कर सकता है?

धन्यवाद!

+2

कोई प्रश्न मूर्ख नहीं है। कम से कम, नहीं :) – shahkalpesh

+0

ओह ... धन्यवाद! :) – Vijay

उत्तर

13

निर्भरता प्रॉपर्टी केवल निर्भरता ऑब्जेक्ट्स पर ही बनाई जा सकती है, और चूंकि एप्लिकेशन (जो आपकी ऐप क्लास से विरासत में है) इसे कार्यान्वित नहीं करता है, तो आप सीधे ऐप क्लास पर निर्भरता प्रॉपर्टी नहीं बना सकते हैं।

मुझे लगता है कि आप इस संपत्ति को बाध्यकारी समर्थन करना चाहते हैं। यदि यह मामला है, तो आप दो विकल्प हैं:

  1. App.xaml.cs
  2. में INotifyPropertyChanged लागू इस पर अपनी गुणों के साथ एक DependencyObject व्युत्पन्न वर्ग बनाएं और एक मानक केवल पढ़ने के लिए की संपत्ति के रूप में यह पर्दाफाश आपकी ऐप गुणों को तब सफलतापूर्वक "डॉटिंग-डाउन" द्वारा बाध्य किया जा सकता है। यानी अपने नए संपत्ति गुण कहा जाता है, तो आप ऐसा तरह बाध्य कर सकते हैं:
<TextBlock Text="{Binding Properties.Temp}" /> 

संपत्ति एक बाध्यकारी, फिर विकल्प # 2 आपका सर्वश्रेष्ठ दांव है का लक्ष्य होने की जरूरत है, तो।

+0

सही अनुमान! विकल्प -2 वह है जिसे मैं ढूंढ रहा था। इससे मदद मिली ... धन्यवाद! – Vijay

1

आप जिस श्रेणी में निर्भरता गुण रखते हैं वह निर्भरता ऑब्जेक्ट से प्राप्त होना चाहिए।

+0

तो, मेरे पास App.xaml.cs. पर निर्भरता संपत्ति नहीं हो सकती है। – Vijay

+0

आप एक सहायक वर्ग जोड़ सकते हैं जो आपके ऐप क्लास की संपत्ति के रूप में डेपॉज से विरासत में मिलता है। –

संबंधित मुद्दे