2014-05-23 13 views
5

मैं एक विरासत WPF आवेदन को बनाए रखने कर रहा हूँ, और मैं नया हूँ करने के लिए WPF इतना कोमल हो :) खिड़की टैग मैं निम्न विशेषता है पर:"मूल्य नहीं हो सकता अशक्त पैरामीटर नाम कंटेनर।" XAML

WindowState="{Binding Source={x:Static gui:GlobalWindowState.Instance}, Path=Maximized, Converter={StaticResource WindowStateConverter}}" 

जब XAML खुला है मैं त्रुटि देख रहा हूँ:

"value cannot be null. parameter name container"

कोड संकलित करता है तथा ठीक कार्यान्वित करता है, और त्रुटि केवल दिखाता है जब Xaml खुला है। लेकिन यह त्रुटि देखकर वास्तव में मुझे परेशान करता है।

Google बहुत मदद नहीं कर रहा था। मैं अनुमान लगा रहा हूं कि ज्यादातर लोग इसे अनदेखा करते हैं।

public object Convert(object value, Type targetType, object parameter, CultureInfo culture){ 
+3

स्टैक ट्रेस देखें। त्रुटि शायद 'विंडोस्टेट कनवर्टर' से आ रही है। –

+0

कोई स्टैक ट्रेस नहीं है। यह त्रुटि विजुअल स्टूडियो में दिखाती है, लेकिन बिल्ड को रोक नहीं देती है। जब मैं XAML फ़ाइल बंद करता हूं तो यह भी दूर हो जाता है। यह मुझे परेशान करता है, लेकिन इसके अलावा किसी भी नकारात्मक प्रभाव का प्रतीत नहीं होता है। –

+0

त्रुटियां शायद आपके 'विंडोस्टेट कनवर्टर' में हैं, जो भी हो। डिज़ाइन मोड के लिए आपके कोड में कोई समर्थन नहीं है, और इस प्रकार यह उड़ रहा है। उस कनवर्टर के कोड पोस्ट करें। –

उत्तर

2

मेरा सुझाव है, अगर आप MVVM डिजाइन पैटर्न का उपयोग कर रहे हैं और आप इस XAML कोड के लिए एक दृश्य मॉडल उपलब्ध है, आपके विचार-मॉडल की एक संपत्ति के लिए अपने WindowState बाँध, और इस संपत्ति में लिखने के लिए जिस मूल्य की आवश्यकता है उसे आउटपुट करने के लिए। आपके व्यू-मॉडल प्रॉपर्टी के भीतर पता लगाने के तरीके हैं कि यह डिज़ाइन-टाइम के दौरान चल रहा है (यानी, विजुअल स्टूडियो या ब्लेंड में प्रदर्शित किया जा रहा है) या रनटाइम। इस प्रकार आप आसानी से नियंत्रित कर सकते हैं कि आपका एक्सएएमएल रनटाइम और आपके डिजाइनर (विजुअल स्टूडियो) दोनों में कैसे प्रदर्शित होता है। अपनी संपत्ति के भीतर, आप इस त्रुटि को साफ़ करने के लिए स्पष्ट रूप से शून्य मानों की जांच करेंगे। और, आप वास्तविक संचालन की जांच के लिए लॉगिंग स्टेटमेंट जोड़ सकते हैं।

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