2009-05-06 6 views
10

हर बार जब मैं एक सेटर जिसका Value संपत्ति के मूल्य वर्णनीय इनलाइन नहीं है बाहर लिखते हैं, मैं तथ्य यह है कि एपीआई [ContentProperty("Value")] साथ Setter वर्ग को चिह्नित नहीं करता है, जो इस अनुमति होगी अभिशाप:क्या कोई अच्छा कारण है कि Setter.Value एक ContentProperty नहीं है?

<Setter Property="BitmapEffect"> 
    <Setter.Value> 
    <OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" /> 
    </Setter.Value> 
</Setter> 

.. इसे सरल बनाने के लिए:

<Setter Property="BitmapEffect"> 
    <OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" /> 
</Setter> 

तो मेरा प्रश्न थोड़े से दो गुना है। सबसे पहले, क्या कोई अच्छा कारण है कि एपीआई इस तरह से कॉन्फ़िगर नहीं किया गया है? दूसरा, क्या इस मेटाडाटा को XamlReader पर किसी भी तरह से उपलब्ध कराने के लिए कुछ भी रोक रहा है, भले ही मैं WPF API को नियंत्रित नहीं करता?

+1

ContentProperty के साथ अच्छा बिंदु! एक ऊपर – Stimul8d

उत्तर

2

वास्तव में अच्छा बिंदु ... लेकिन आप आसानी से System.Windows.Setter से विरासत में अपना खुद का सेटर क्लास बना सकते हैं, उस पर ContentProperty विशेषता डालें, और मानक सेटर के बजाय इसका उपयोग करें।