Template Control et DependencyProperty
Bonjour,
J'essaye de créer des template controls. J'ai cependant un soucis et je ne sais pas trop comment le résoudre.
Le but ici est de créer une textbox numérique. Ainsi j'aimerai pouvoir spécifier le nombre de chiffre de la partie entière et décimale. Pour cela j'ai créé des dependency properties. Voici les parties pertinentes de code.
Generic.xaml
Code:
1 2 3 4 5 6 7 8 9 10
|
<Style TargetType="local:Test">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:Test">
<TextBox />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style> |
Test.cs
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public static readonly DependencyProperty DecimalCountProperty =
DependencyProperty.Register("DecimalCount",
typeof(short), typeof(Test),
new PropertyMetadata((short)2));
public short DecimalCount
{
get { return (short)GetValue(DecimalCountProperty); }
set {SetValue(DecimalCountProperty, value);}
} |
Mon appel au control
Code:
1 2
|
<myCustomsCtrl:Test Width="100" Height="23" DecimalCount="3"></myCustomsCtrl:Test> |
Mon soucis se passe à l’exécution. L'affectation DecimalCount="3" soulève une exception Impossible de créer un System.Int16 à partir du texte '3'.
Comment faire pour que cette affectation DecimalCount="3" fonctionne?
Avec les casts appropriés et en mettant la propriété DecimalCount de type Object, l'affectation fonctionne mais n'y a-t-il pas une autre solution?
Merci