Mehrere (Neuling) Fragen zu verstehen:Versuch INotifyPropertyChanged
1) Ich sehe eine Menge
public Person SelectedPerson { get; set; }
Ich gehe davon aus das löst nicht eine Eigenschaft ändern?
Also, wenn ich das will, muss ich folgendes bereitstellen?
private Person selectedPerson;
public Person SelectedPerson
{
get
{
return this.selectedPerson;
}
set
{
if ((this.selectedPerson != value))
{
this.selectedPerson = value;
base.OnPropertyChanged("SelectedPerson");
// Note: Using ViewModelBase
}
}
}
2) Wenn ich die folgenden Voraussetzungen erfüllt sein:
public bool CanDeletePerson
{
get
{
return SelectedPerson != null;
}
}
und auch in den XAML
< Button IsEnabled="{Binding CanDeletePerson}"
Command="{Binding DeletePersonCommand}"> Delete </ Button >
Wie bekomme ich es die CanDeletePerson Eigenschaft neu zu bewerten? Grundsätzlich ist es zunächst deaktiviert, aber wenn ich auf das Raster und zeilenweise bewegen, die SelectedPerson aktualisiert wird, aber die CanDeletePerson ist nicht der aktualisierte Wert bekommen, so wie bekomme ich es tatsächlich wieder den Wert überprüfen ?
3) Ich sehe
... hängt davon ab, ob etwas auf das Ereignis abonniert hat
Wie Sie auf das Ereignis abonnieren?
+1 Sie kamen später, aber ich mochte die Organisation Ihrer Antwort. –
siehe http://stackoverflow.com/questions/1329138/how-to-make-databinding-type-safe-and-support-refactoring/1333874#1333874 für einen Compiler überprüft Weg der Implementierung von INotifyPropertyChanged. –