2012-04-16 24 views
5

मेरे पास उपयोगकर्ता नियंत्रण है जो उपयोगकर्ता नियंत्रण से प्राप्त होता है। यह एक बटन है इसलिए मैं बटन में टेक्स्ट बनाने की कोशिश कर रहा हूं, टेक्स्ट बटन का उपयोग करके वास्तविक बटन की तरह बदलकर सक्षम हूं, बजाय _Text की तरह अपना नामकरण करने के बजाय। मेरे पास निम्न कोड है लेकिन यह काम नहीं करता है (यानी यह प्रॉपर्टी विंडो में दिखाई नहीं देता है)। लेबल का नाम ContentPresenterमेरी कस्टम कंट्रोल की टेक्स्ट प्रॉपर्टी प्रॉपर्टी विंडो में क्यों नहीं दिखाई देगी?

public override string Text 
{ 
    get 
    { 
     return ContentPresenter.Text; 
    } 
    set 
    { 
     ContentPresenter.Text = value; 
    } 
} 
+1

इस धागे को मदद करनी चाहिए: http://stackoverflow.com/questions/2873339/why-does-the-text-property-overridden-in-user-control-is-not-showing-at-design-t –

उत्तर

12

उपयोगकर्ता नियंत्रण टेक्स्ट संपत्ति को छिपाने के लिए महत्वपूर्ण प्रयास में जाता है। मेटाडाटा से:

[Browsable(false)] 
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 
    [EditorBrowsable(EditorBrowsableState.Never)] 
    [Bindable(false)] 
    public override string Text { get; set; } 

आप इसे अपने कोड में उन विशेषताओं अधिभावी से दृश्यमान बना सकते हैं:

[Browsable(true)] 
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] 
    [EditorBrowsable(EditorBrowsableState.Always)] 
    [Bindable(true)] 
    public override string Text 
    { 
     get { return ContentPresenter.Text; } 
     set { ContentPresenter.Text = value; } 
    } 

मैं का वादा नहीं कर रहा हूँ कि यह काम करने के लिए काफी है, लेकिन यह शायद है।

+0

मैंने इसे स्टीव वोंग की टिप्पणी से बाहर निकाला और इसे सी # में अनुवाद करना पड़ा, और यह कोड समाप्त हो गया है और यह ठीक काम करता है, धन्यवाद – Oztaco

+0

इस प्रश्न के उत्तर के लिए धन्यवाद, इससे मुझे एक और समस्या हल करने में मदद मिली: http://stackoverflow.com/questions/14899899/win-7-iis-7-5-weird-behavior-with-system-componentmodel-browseableattribute/14938911#14938911 – dcp

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