Dépendance personnalisée
-
05-07-2019 - |
Question
Je souhaite créer un objet DependencyProperty avec deux options (gauche et droite) similaires à des propriétés telles que LeftAlignment dans un TextBlock.
Quelqu'un connaît-il le code associé à cela? Jusqu'à présent, je n'ai créé que des 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); }
}
La solution
Définissez simplement le type de la propriété sur 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 ) );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow