J'ai une application WPF où j'utilise les propriétés de dépendance dans codebehind que je veux définir via les déclarations XAML.WPF: Les déclarations de propriétés XAML ne sont pas définies via Setters?
par exemple.
<l:SelectControl StateType="A" Text="Hello"/>
Ainsi, dans cet exemple, j'ai un UserControl
appelé SelectControl
, qui a une propriété appelée StateType
qui manipulent d'autres propriétés dans son setter.
Pour aider à illustrer le problème, j'ai mis une autre propriété appelée Text
dans l'exemple, lisez la suite et je vais vous expliquer plus loin.
Extrait Codebehind ...
public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(String), typeof(SelectControl));
public String Text
{
get { return (String)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public static readonly DependencyProperty StateTypeProperty = DependencyProperty.Register("StateType", typeof(String), typeof(SelectControl));
public String StateType
{
get { return (String)GetValue(StateTypeProperty) }
set
{
switch (value)
{
case "A":
AnotherPropertyBoolean = true;
break;
case "B":
AnotherPropertyBoolean = false;
break;
default:
// this is only an example...
}
}
}
Maintenant, si je mets un point d'arrêt sur le poseur (soit pour StateType
ou Text
), il se révèle qu'il n'a jamais exécuté.
Cependant les valeurs déclarées pour Text
, à savoir « Bonjour » apparaît dans ses données liées TextBox
, et bien sûr, je lier un autre contrôle de texte à la valeur de StateType
je peux voir aussi.
Est-ce que quelqu'un sait ce qui se passe?
Nice one :) merci. – ocodo