Bonjour.
Pour la réalisation d'un contrôle personnalisé, j'ai en premier lieu créer une class abstraite. Celle-ci contient une DependencyProperty comme suivit :
La valeur par défaut est bien celle écrite pour les contrôle qui en hérite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public static DependencyProperty DegradedBackgroundProperty = DependencyProperty.Register( "DegradedBackground", typeof(LinearGradientBrush), typeof(ColorComponent), new PropertyMetadata(new LinearGradientBrush() { StartPoint = new Point(0, 0), EndPoint = new Point(1, 0), GradientStops = new GradientStopCollection() { new GradientStop(Colors.Black, 0), new GradientStop(Colors.White, 1), }, })); public LinearGradientBrush DegradedBackground { get { return (LinearGradientBrush)GetValue(DegradedBackgroundProperty); } protected set { SetValue(DegradedBackgroundProperty, value); } }
Le problème est que ces derniers ont tous nécessités de redéfinir les deux valeur GardientStop de la collection mais ne peuvent y avoir accé. Le compilateur me sort comme erreur que GradientStops possède la propriété IsFrozen a true.
J'ai de plus une seconde petite question :
Comment se nomme le procédé de définir les propriété d'une nouvelle instance comme suivit
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 GradientStops = new GradientStopCollection() { new GradientStop(Colors.Black, 0), new GradientStop(Colors.White, 1), }
Partager