Klasse an UserControl binden

28/11/2007 - 10:21 von Marcus Schaefer | Report spam
Hallo NG,

ich habe eine Klasse mit mehreren Eigenschaften, wie zB

Public Event DescriptionChanged (sender as object, e as eventArgs)
Public Property Description as String
Get
Return mDescription
End Get
Set(ByVal value As String)
mDescription = value
RaiseEvent Description Changed(Me, Nothing)
End Set
End Property

Zudem habe ich eine UserControl, die den Inhalt der Klasse visualieren soll;
in diesem Fall die Description in einer TextBox.

Nun möchte, dass bei einer Änderung des Inhaltes der TextBox automatisch die
Klassen-Eigenschaften geàndert wird und umgekehrt.


Dieses kann ich natürlich manuell über die ...changed Ereignisse der Klasse
und der TextBox-Control machen. Ich hatte jedoch gehofft, dass ich dieses
über die DataBindings Auflistung der Textbox erledigen könnte.

TextBox1.DataBindings.Add("Text", mValue, "Description")

( in mValue wir die Klasse an die UserControl übergeben )

Das klappt allerdings nur in der Richtung TextBox -> Klasse, sofern das
Klassenevent DescriptionChanged auskommentiert ist. Anderfalls erhalte ich
folgenden Fehler:

System.ArgumentException was unhandled:
Object of type 'System.EventHandler' cannot be converted to type
'WindowsApplication1.Class1+DescriptionChangedEventHandler'.

An der Stelle stecke ich jetzt fest. Benutze ich den DataBinding Mechanismus
falsch?

Bin gespannt, was ich falsch gemacht habe,

Marucs
 

Lesen sie die antworten

#1 Peter Fleischer
28/11/2007 - 13:20 | Warnen spam
"Marcus Schaefer" schrieb im
Newsbeitrag news:

ich habe eine Klasse mit mehreren Eigenschaften, wie zB

Public Event DescriptionChanged (sender as object, e as eventArgs)
Public Property Description as String
Get
Return mDescription
End Get
Set(ByVal value As String)
mDescription = value
RaiseEvent Description Changed(Me, Nothing)
End Set
End Property

Zudem habe ich eine UserControl, die den Inhalt der Klasse visualieren
soll;
in diesem Fall die Description in einer TextBox.

Nun möchte, dass bei einer Änderung des Inhaltes der TextBox automatisch
die
Klassen-Eigenschaften geàndert wird und umgekehrt.



Marcus,
ich denke, dass die INotifyPropertyChanged helfen kann.

Schau mal auf meiner Homepage unter:

http://www.informtools.de/kb.aspx?ID$1#


Viele Gruesse

Peter

Ähnliche fragen