Jeg laget et skjema for vedlikehold av fjernkontroll koder. I ett og samme skjema har jeg en listbox som lister opp alle kjente koder, til høyre for denne ligger feltene:
txtDescription
txtCode
txtAscii
txtPostTransmitDelay
(Jeg kaller disse for "tekstfeltene" så slipper jeg å beskrive de mange ganger i dette innlegget)
For å databinde til dette (falt veldig for å kunne databinde objekter som er ferdig enhetstestet!) har jeg laget en klasse RemoteCommandLoader som bl.a. eksponerer en Colllection< RemoteCommand >, og et medlem CurrentItem. Denne administreres med CurrentIndex i samme objekt.
Datbinding er problemfritt, jeg binder listen til listview, og CurrentItem tekstfeltene. Når jeg nå klikker på ulike kommandoer på listen, så vises innholdet i hvert av feltene, og når jeg redigerer i tekstfeltene, så oppdateres teksten i listeboksen umiddelbart.
Men jeg får ikke til "Add":
1) Hvordan kan jeg, med en slik modell, få til å klikke på en knapp som lar meg "rense" tekstfeltene og la meg fylle inn en ny tekst der? (Er det slik at jeg MÅ legge til en ny RemoteCommand i listen og så oppdatere denne?)
Mitt CommandLoader objekt, samt alle involverte objekter implementerer INotifyPropertyChanged/Changing. Dialogen ser slik ut:
"
http://www.digitaldias.com/workshop/forums/databind.jpg "
Det er IKKE et ønske å endre på dette skjermbildet.
Jeg vil helst implementere all presentasjonslogikk i CommandLoader, slik at jeg kun trenger å gjøre riktige databindinger, og unngår kode i GUI