mahapps.metro.ThemeManager.DetectTheme मुझे एक NullReferenceException दे

मैंने mahapps.metro का डेमो देखा है और मैं एक बटन का उपयोग कर विषय बदलने की अनुमति देना चाहता हूं।

मेरे पास हैंडलर वाला बटन है और जब मैं बटन पर क्लिक करता हूं तो यह मुझे NullReferenceException देता है।

var theme = ThemeManager.DetectTheme(Application.Current)

विषय एक शून्य मूल्य लौटा दिया।

मैं इस क्षेत्र में नया हूं। क्रिप्या मेरि सहायता करे। आपका बहुत बहुत धन्यवाद!

1
जोड़ा लेखक Sheridan, स्रोत
मुझे नहीं लगता @ शेरडीन टिप्पणी और एकमात्र जवाब प्रासंगिक है। महाएप्स एक डब्ल्यूपीएफ मेट्रो प्रेरित लाइब्रेरी है, और इसके कार्यों में से एक उपयोगकर्ता को वर्तमान थीम प्राप्त करने की अनुमति देता है जो कि एप्लिकेशन में उपयोग किया जा रहा है, जो लाइब्रेरी द्वारा प्रदान किया जाता है - अंधेरा विषय और प्रकाश विषय। समस्या यह है कि यह कार्य ओपी मामले पर काम नहीं कर रहा है। उदाहरण के लिए, एक अच्छा उदाहरण है चालू यह पृष्ठ शायद यह ओपी की मदद कर सकता है।
जोड़ा लेखक Malavos, स्रोत

1 उत्तर

आप विषय को निम्नानुसार बदल सकते हैं:

var accent = ThemeManager.DefaultAccents.First(x => x.Name == "Blue");

//dark theme
ThemeManager.ChangeTheme(Application.Current, Accent newAccent, Theme.Dark);

//light theme
ThemeManager.ChangeTheme(Application.Current, Accent newAccent, Theme.Light);

App.Resources अनुभाग में पुन: प्राप्त किए गए MahApp को आयात करने से चूकें।

2
जोड़ा
उपयोगी संकेत का उल्लेख करने के लिए 1 ऊपर।
जोड़ा लेखक Nair, स्रोत