2009-05-05 8 views
1

Je souhaite créer un DependencyProperty avec 2 options (Left et Right) similaires à des propriétés telles que LeftAlignment dans un TextBlock.DependencyProperty personnalisée

Est-ce que quelqu'un connaît le code associé? Je l'ai créé à ce jour que DependencyPropertys simples comme ci-dessous:

public static readonly DependencyProperty AlignProperty = DependencyProperty.Register("Align", typeof(string), typeof(HalfCurvedRectangle), new FrameworkPropertyMetadata("Left", FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.AffectsMeasure)); 

[TypeConverter(typeof(StringConverter))] 
public string Align 
{ 
    get { return (string)base.GetValue(AlignProperty); } 
    set { base.SetValue(AlignProperty, value); } 
} 

Répondre

3

simplement définir le type de la propriété à un type enum au lieu de chaîne par exemple:

public enum BrushTypes 
    { 
     Solid, 
     Gradient 
    } 

    public BrushTypes BrushType 
    { 
     get { return (BrushTypes)GetValue(BrushTypeProperty); } 
     set { SetValue(BrushTypeProperty, value); } 
    } 

    public static readonly DependencyProperty BrushTypeProperty = 
       DependencyProperty.Register("BrushType", 
              typeof(BrushTypes), 
              typeof(MyClass)); 
Questions connexes