Ho creato una proprietà di dipendenza come questo:In che modo la proprietà di dipendenza get/set in non fa nulla?
public partial class MyControl: UserControl
{
//...
public static DependencyProperty XyzProperty = DependencyProperty.Register("Xyz",typeof (string),typeof (MyControl),new PropertyMetadata(default(string)));
public string Xyz
{
get { return (string) GetValue(XyzProperty); }
set { SetValue(XyzProperty , value); }
}
//...
}
quindi associare alla mia finestra WPF e tutto ha funzionato bene.
Quando ho provato ad aggiungere un po 'di logica al setter, ho notato che non veniva chiamato. Modifico il get; impostare fino a un punto ora assomigliano a questo:
get{return null;}
set{}
ed è ancora funziona! Come mai? A che cosa servono le chiamate GetValue/SetValue?
Vedere anche [here] (http://msdn.microsoft.com/en-us/library/bb613563.aspx#implications) per il motivo per cui non si deve inserire alcuna logica aggiuntiva nei wrapper delle proprietà. – Clemens