wpf - Setting content in an inherited (BasedOn) style -


मेरे पास एक आधार शैली है, कहते हैं:

  & lt; style x: key = " DefaultButtonStyle "TargetType =" {x: प्रकार बटन} "& gt; & Lt; सेटर संपदा = "पृष्ठभूमि" मान = "{स्टेटिक रीससोर डिफ़ॉल्टबटनबैकगर}" / & gt; & Lt; सेटर संपदा = "खाका" & gt; & LT; Setter.Value & gt; & Lt; ControlTemplate TargetType = "{x: प्रकार बटन}" & gt; & Lt; ग्रिड एक्स: नाम = "बटनशैपग्रीड" ऊँचाई = "{टेम्पलेट बाइंडिंग ऊँचाई}" चौड़ाई = "{टेम्पलेट बाइंडिंग ऊँचाई}" & gt; & Lt;! - कुछ आकार देने वाले Xaml को लपेटें - & gt; & Lt; ContentPresenter Grid.RowSpan = "2" वर्टिकलएलिनेमेंट = "{वर्टिकल एलाइमेंटमेंट टेम्पलेटबैंडिंग}" क्षैतिज एलाइन्मेंट = "केंद्र" / & gt; & Lt; / ग्रिड & gt; & Lt; / ControlTemplate & gt; & LT; /Setter.Value> & Lt; / सेटर & gt; & Lt; / शैली & gt;  

अब, मुझे कुछ स्टाइल बनाने की ज़रूरत है जो कि बटन की सामग्री को तय किए हुए कुछ के साथ बदल देता है ... ऐसा है (जहां CloseButtonGlyph एक पथ संसाधन है)। यह ठीक काम करता है:

  शैली x: key = "CloseButtonStyle" BasedOn = "{StaticResource DefaultButtonStyle}" TargetType = "{x: प्रकार बटन}" & gt; & Lt; सेटर संपदा = "सामग्री" मान = "{स्टेटिक रिसोर्स क्लोजबूटन ग्लिफ}" / & gt; & Lt; / शैली & gt;  

हालांकि, मुझे सामग्री में मनमानी Xaml को जोड़ने की आवश्यकता है, और यह वह जगह है जहां मुझे एक समस्या है। जब WPF विंडो या नियंत्रण में शैली का उपयोग किया जाता है, तो निम्नलिखित काम नहीं करते (मुझे डिज़ाइन-टाइम त्रुटि यह बताती है कि सामग्री सामग्री एलेमेंट या विज़ुअल से प्राप्त नहीं की जा सकती है):

  & Lt; शैली x: Key = "WingDingStyle" BasedOn = "{StaticResource DefaultButtonStyle}" TargetType = "{x: प्रकार बटन}" & gt; & Lt; सेटर संपदा = "सामग्री" & gt; & LT; Setter.Value & gt; & Lt; टेक्स्टब्लॉक फ़ॉन्टफ़ैमिली = "वेबडिंग" टेक्स्ट = "3" फ़ॉन्टसिज़्म = "18" अग्रभूमि = "सफेद" / & gt; & LT; /Setter.Value> & Lt; / सेटर & gt; & Lt; / शैली & gt;  

मुझे नुकसान हुआ है जो मुझे करने की आवश्यकता है। विंडो में एक बटन की सामग्री में एक टेक्स्ट बॉक्स को डालना या नियंत्रण ठीक काम करता है, क्यों नहीं एक शैली में?

< p> खेद है! पिछली बार एक बार परीक्षण करने के लिए समय नहीं मिल सका, यह कोड अच्छी तरह से काम करता है

  & gt; शैली लक्ष्य प्रकार = "{x: प्रकार बटन}" & gt; & LT; Style.Resources & gt; & Lt; TextBlock x: कुंजी = "myContent" FontFamily = "WebDings" पृष्ठभूमि = "लाल" पाठ = "3" FontSize = "18" अग्रभूमि = "व्हाइट" / & gt; & LT; /Style.Resources> & Lt; सेटर संपदा = "सामग्री" मान = "{DynamicResource myContent}" / & gt; & Lt; / शैली & gt;  

और इस तरह सेटर को बदलना भी ठीक काम करता है

  & lt; सेटर संपत्ति = "सामग्री" मान = "{बाध्यकारी स्रोत = {स्टेटिक संसाधनों myContent}} "/ & gt;  

आशा है कि यह आपकी मदद करेगी!


Comments

Popular posts from this blog

c# - How to capture HTTP packet with SharpPcap -

jquery - SimpleModal Confirm fails to submit form -

php - Multiple Select with Explode: only returns the word "Array" -