फेंकता है जब मैं एक ResourceDictionary
के भीतर एक Setter
के माध्यम से WindowStartupLocation
गुण सेट करने का प्रयास, मैं एक XamlParseException
मिलती है:ResourceDictionary से WindowStartupLocation स्थापना XamlParseException
'संपत्ति तय करें' System.Windows.Setter.Property 'एक अपवाद फेंक दिया । ' रेखा संख्या 'एक्स' और रेखा स्थिति 'वाई'।
भीतरी अपवाद एक ArgumentNullException
है:
मूल्य खाली नहीं रह सकती। पैरामीटर नाम: संपत्ति।
संसाधन शब्दकोश के भीतर मेरे शैली है:
<Style TargetType="Window" x:Key="WindowStyle">
<Setter Property="SizeToContent" Value="WidthAndHeight" />
<Setter Property="ResizeMode" Value="CanMinimize" />
<Setter Property="WindowStartupLocation" Value="CenterOwner" />
</Style>
मुद्दा जब मैं WindowStartupLocation
हटाने के बाद से ResourceDictionary
, के उपयोग के साथ नहीं है, अन्य दो गुण (SizeToContent
और ResizeMode
) स्थापित कर रहे हैं जैसा कि विंडोज़ पर अपेक्षित है जो शैली का संदर्भ देता है:
<Window x:Class="WpfApplication1.MyWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Style="{DynamicResource WindowStyle}">
<Window.Resources>
<ResourceDictionary Source="MyResourceDictionary.xaml" />
</Window.Resources>
</Window>
क्या किसी को इसका सामना करना पड़ा है? क्या यह डब्ल्यूपीएफ की एक बग/सीमा है?
पीएस मुझे पता है कि यह प्रश्न Window Startup Location from resource dictionary जैसा है, लेकिन दूसरे प्रश्न में पर्याप्त जानकारी प्रदान नहीं की गई जो बाद में अनसुलझा बनी रही।
तो तुम (का उपयोग कर एक CLR (गैर निर्भरता) XAML से सीधे गुण सेट करने की अनुमति है '<विंडो
यहाँ पूरा कोड है WindowStartupLocation = "CenterOwner" /> 'वाक्यविन्यास), लेकिन संसाधन शब्दकोश से नहीं, सही? – User3810621
पूरी तरह से नहीं। आप सीधे एक्सएएमएल में संपत्ति सेट कर सकते हैं लेकिन आप अभी भी स्टाइल नहीं बल्कि संसाधन शब्दकोश का उपयोग कर सकते हैं। यही है, निम्नलिखित कार्य करता है: <अनुप्रयोग। स्रोत> <संसाधन डिक्शनरी> <शैली x: कुंजी = "विंडो स्टाइल" लक्ष्य प्रकार = "विंडो"> <सेटर संपत्ति = "आकार टॉकेंट" मान = "चौड़ाई और हाइट" /> <सेटर संपत्ति = "ResizeMode" मान = "CanMinimize" /> CenterOwner WindowStartupLocation> ResourceDictionary> –
धन्यवाद, सबसे उपयोगी! दुर्भाग्यवश मैं 'स्टेटिक रिसोर्स' का उपयोग नहीं कर सकता क्योंकि मुझे 'विंडो' से 'संसाधन डिक्शनरी' का संदर्भ देने की आवश्यकता है (मैं एक ऑफिस एडिन विकसित कर रहा हूं जो मुझे एक WPF 'एप्लिकेशन' क्लास नहीं दे रहा है)। लेकिन विंडोज़ अनुप्रयोगों में डिफ़ॉल्ट शैली को केंद्रीकृत करने के लिए आपका सुझाव बहुत अच्छा होगा। – User3810621