2010-01-30 11 views
5

मैंने स्टाइल और कंट्रोल टेम्पलेट का उपयोग कर कस्टम बटन बनाया है। मैं बटन बटनबोर्ड और घुमाव बटन बटन के रूप में इस बटन के लिए कुछ कस्टम गुणों को परिभाषित करना चाहता हूं।शैलियों के लिए कस्टम गुणों को परिभाषित करने के लिए wpf

मैं इस बारे में कैसे जा सकता हूं? क्या यह सिर्फ एक्सएएमएल का उपयोग करके किया जा सकता है या क्या इसे काम के पीछे कुछ सी # कोड की आवश्यकता है?

उत्तर

4

संपत्तियों को निर्भरता प्रॉपर्टी का उपयोग करके सी # में घोषित करने की आवश्यकता है। रजिस्ट्रार (या, यदि आप एक कस्टम बटन टाई, निर्भरताप्रॉपर्टी नहीं हैं। रजिस्ट्रार एटैच)। यहाँ घोषणा करता है, तो आप एक कस्टम बटन वर्ग पैदा कर रहे है:

public static readonly DependencyProperty ButtonBorderColourProperty = 
    DependencyProperty.Register("ButtonBorderColour", 
    typeof(Color), typeof(MyButton)); // optionally metadata for defaults etc. 

public Color ButtonBorderColor 
{ 
    get { return (Color)GetValue(ButtonBorderColourProperty); } 
    set { SetValue(ButtonBorderColourProperty, value); } 
} 

आप एक कस्टम वर्ग बनाने नहीं कर रहे हैं, लेकिन गुण एक सामान्य बटन पर सेट किया जा सकता है कि निर्धारित करना चाहते हैं, उपयोग RegisterAttached:

public static class ButtonCustomisation 
{ 
    public static readonly DependencyProperty ButtonBorderColourProperty = 
    DependencyProperty.RegisterAttached("ButtonBorderColour", 
    typeof(Color), typeof(ButtonCustomisation)); // optionally metadata for defaults etc. 
} 

फिर उन्हें एक्सएएमएल में सेट किया जा सकता है:

<local:MyButton ButtonBorderColour="HotPink" /> 
<Button local:ButtonCustomisation.ButtonBorderColour="Lime" /> 
संबंधित मुद्दे