die Bindung an eine Eigenschaft eines Objekts
Möchte ich binden eine Reihe von Textfeldern in einem raster in Eigenschaften eines Objekts, die sich eine andere Eigenschaft im ViewModel (DataContext).
CurrentPerson
besteht aus Name
und Age
Eigenschaften
Innerhalb der ViewModel:
public Person CurrentPerson { get; set ... (with OnPropertyChanged)}
Xaml :
<TextBox Text="{Binding Name}" >
<TextBox Text="{Binding Age}" >
Ich war nicht sicher, auf den Ansatz zu verwenden, habe ich einen anderen DataContext in der raster-Rahmen, ohne Erfolg, habe Auch versucht die Quelle und den Pfad wie Source=CurrentPerson Path=Alter wieder ohne Ergebnis, diese wurden für den Versuch und sehen, ob es was ändern wird oder nicht.
Wie soll ich das erreichen ?
InformationsquelleAutor LastBye | 2013-03-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Macht Ihr
Person
SchülerName
undAge
erhöhen INPC selbst?Wenn Sie möchten, um den Wert zu aktualisieren, entweder
Name
oderAge
imViewModel
habe und es spiegeln sich in der Sicht, die Sie benötigen, zu erhöhen Eigentum individuell verändert innerhalbPerson
Klasse als gut.Die Bindungen sind gut, aber die Aussicht ist ziemlich viel nicht über änderungen benachrichtigt, die aus der view-Modell. Denken Sie auch daran
UpdateSourceTrigger
für eineTextBox
standardmäßig istLostFocus
Einstellung, dassPropertyChanged
aktualisiert Ihre string in derViewModel
als Ihre Eingabe.Einfaches Beispiel:
Nun Ihren xaml-Code wäre:
oder Sie können auch binden wie vorgeschlagen von @Kshitij
sowie zum aktualisieren der view-Modell als Ihre Eingabe
InformationsquelleAutor Viv
Versuchen Sie dies:
Im wesentlichen, Sie können Drilldown-Eigenschaften mithilfe der
.
separator.Für die Zukunft, wenn Sie möchten, um einen drill-down in Sammlungen, die Sie verwenden können
MyCollection[x]
nur, wie man es im code ("x" ersetzt werden würde durch eine hart-codierte Zahl, nicht eine variable).Scheint, dass eine Benachrichtigung ändern nicht handeln auf diese Weise. Ist es wahr ? wie sollte ich dieses Problem beheben?
Hat bei mir nicht funktioniert noch. weiß nicht warum...
InformationsquelleAutor K Mehta