Tengo un control personalizado que tiene DependencyProperty MyAnimal - Estoy vinculando una propiedad de animal en mi ViewModel a MyAnimal DependencyProperty.wpf ¿cómo saber cuándo ha finalizado el enlace de datos?
He pegado un TextBox en el Control para poder desencadenar un evento; cada vez que desencadenar el evento se ha establecido la propiedad MyAnimal; sin embargo, si pongo un punto de interrupción en el Setter de la propiedad MyAnimal, nunca se dispara !
Supongo que me falta algo fundamental sobre WPF Dependency Properties/Binding ?!
Y entonces mi pregunta es, si no puedo usar el Setter, ¿cómo puedo saber cuándo se ha configurado? Si pongo si pongo un punto de ruptura después de InitializeComponent(), es nulo y eché un vistazo para ver si hay un Evento en el que se puede conectar hasta - ¿Terminó DatabindingFinished o similar? pero no puede ver lo que sería ...
¿Alguien puede ayudarme por favor?
Gracias,
Andy
public partial class ControlStrip
{
public ControlStrip()
{
InitializeComponent();
}
public Animal MyAnimal
{
get
{
return (Animal)GetValue(MyAnimalProperty);
}
set
{
SetValue(MyAnimalProperty, value);
}
}
public static readonly DependencyProperty MyAnimalProperty =
DependencyProperty.RegisterAttached("MyAnimal", typeof (Animal), typeof (ControlStrip));
private void TextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
{
var myAnimal = MyAnimal;
MessageBox.Show(myAnimal.Name);
}
}
Una pregunta - ¿Por qué utiliza RegisterAttached y no se registra? No parece que esto deba ser una propiedad adjunta, sino más bien un DP normal ... –
ese es un muy buen punto, ¡aplausos - copie y pegue! –