2011-03-24 10 views
5

मैं निर्माता में एक पृष्ठ का नाम गुण सेट करने का प्रयास कर रहा हूँ:FrameworkElement.Name समस्या

public partial class PageListView : Page 
{ 
    public PageListView(string title) 
    { 
     InitializeComponent(); 
     Name = title; 
    } 
} 

हालांकि, मैं अक्सर निम्न त्रुटि संदेश मिलता है।

'x' is not a valid value for property 'Name'. 

कहाँ x लगभग कुछ भी, अपवाद विवरण में गहरे उतर होने के लिए किसी भी उपयोगी जानकारी प्रदान नहीं लगता है लगता है (जैसे InnerException रिक्त है।)

किसी को भी पता है कि यहाँ क्या हो रहा है?

उत्तर

12

नाम संपत्ति आम तौर पर सी #/वीबी.नेट पहचानकर्ताओं (यानी फ़ील्ड) के नियमों का पालन करती है। documentation के आधार पर: नाम निर्देशक XAML विनिर्देश द्वारा परिभाषित के रूप द्वारा लगाए गए अंतर्निहित एक्स

स्ट्रिंग नाम के लिए इस्तेमाल किया मूल्यों, कुछ सीमाएं होती हैं। सबसे विशेष रूप से, किसी नाम को एक अक्षर या अंडरस्कोर वर्ण (_) से प्रारंभ होना चाहिए, और इसमें केवल अक्षर, अंक या अंडरस्कोर होना चाहिए।

आपके द्वारा पारित पैरामीटर (यानी शीर्षक) के आधार पर ऐसा लगता है कि आप इसका उल्लंघन कर सकते हैं। लेकिन आपको सुनिश्चित करने के लिए कुछ विशिष्ट उदाहरण देना होगा।

+1

हाँ, मुझे एहसास हुआ जैसे ही मैंने पोस्ट किया था :) – ocodo

1

बेशक, इसे पोस्ट करने के कुछ क्षण बाद मुझे एहसास हुआ कि क्या हो रहा है।

क्योंकि फ्रेमवर्क एलिमेंट नाम का उपयोग ऑब्जेक्ट संदर्भ बनाने के लिए किया जाता है, तो आपको यह सुनिश्चित करना होगा कि स्ट्रिंग में ऑब्जेक्ट इंस्टेंस वेरिएबल नाम के लिए केवल वैध वर्ण हों।

इसके बजाय शीर्षक या अन्य सादा पाठ संपत्ति का उपयोग करें, जब तक कि आप वास्तव में संदर्भ के लिए x:Name संपत्ति सेट नहीं करना चाहते हैं।