Ho un'applicazione WPF in cui sto usando le proprietà di dipendenza nel codebehind che voglio impostare tramite dichiarazioni XAML.WPF: dichiarazioni di proprietà XAML non impostate tramite Setter?
ad es.
<l:SelectControl StateType="A" Text="Hello"/>
Quindi in questo esempio ho un UserControl
chiamato SelectControl
, che ha una proprietà chiamata StateType
che manipolare alcune altre proprietà nella sua setter.
Per illustrare il problema, ho inserito un'altra proprietà denominata Text
nell'esempio, continua a leggere e spiegherò ulteriormente.
Codebehind stralcio ...
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...
}
}
}
Ora, se ho impostato un punto di interruzione il setter (sia per StateType
o Text
), si scopre che non è mai eseguito.
Tuttavia i valori dichiarati per Text
, vale a dire "Ciao" appare in esso è dati associati TextBox
, e, naturalmente, mi legano un altro controllo di testo per il valore StateType
s' posso vedere anche questo.
Qualcuno sa cosa sta succedendo?
Bello :) grazie. – ocodo