Ich habe ein benutzerdefiniertes Steuerelement mit einer DependencyProperty MyAnimal - Ich binde eine Animal-Eigenschaft in meinem ViewModel an die MyAnimal DependencyProperty.wpf Wie erkennt man, wenn die Datenbindung beendet ist?
Ich habe eine TextBox auf dem Steuerelement hängen, damit ich ein Ereignis auslösen kann - wann immer ich das Ereignis auslösen wird die MyAnimal -Eigenschaft festgelegt - jedoch wenn ich einen Unterbrechungspunkt auf den Setter der MyAnimal -Eigenschaft gesetzt wird nie gefeuert !
Ich denke, ich vermisse etwas Grundlegendes über WPF Abhängigkeit Eigenschaften/Bindung ?!
Und so meine Frage ist, wenn ich den Setter nicht verwenden kann, wie kann ich herausfinden, wann es eingestellt wurde? Wenn ich setze, wenn ich nach InitializeComponent() einen Nullpunkt setzen würde und ich gucke, ob es ein Event gibt, an dem sich ein - DatabindingFinished oder ähnliches anschließen kann? aber kann nicht sehen, was es wäre ...
Kann mir bitte jemand helfen?
Danke,
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);
}
}
Eine Frage - warum verwenden Sie Registerattached und nicht registrieren? Es scheint nicht, dass dies eine angehängte Eigenschaft sein sollte, sondern eher eine normale DP ... –
das ist ein sehr guter Punkt, Prost - kopieren und einfügen! –