Est-ce que DataBindings serait ce que vous cherchez? Associe un contrôle à une propriété:
myTextbox.databindings.add("text", classWithProperty, "propertyName")
Voilà comment je l'ai fait en VB.NET, mais je suis un peu rouillé.
EDIT:
Je crois que vous avez besoin de mettre en œuvre INotifyPropertyChanged pour les valeurs à jour:
Public Class YourClassWithProperty
Implements INotifyPropertyChanged
Ensuite, faire une fonction:
Public Sub OnPropertyChanged(ByVal name As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
End Sub
Après, appelez la fonction dans votre propriété de zone "set":
Exemple:
Public Property Name() As String
Get
Return personName
End Get
Set(ByVal value As String)
personName = value
OnPropertyChanged("Name")
End Set
End Property
Exemples tirés de msdn: http://msdn.microsoft.com/en-us/library/ms743695.aspx
C'est gentil. Toutefois, lorsque la valeur est mise à jour en dehors du contrôle, le contrôle n'affiche pas la nouvelle valeur. –
Je pense que vous devez implémenter INotifyPropertyChange pour le mettre à jour. Ici, il est sur msdn http://msdn.microsoft.com/en-us/library/ms743695.aspx Appelez-le quand dans la zone de jeu de la propriété. – Shane
J'ai dû ajouter la ligne ci-dessous à la classe avec la propriété pour le faire fonctionner. Sinon, merci! 'Public Event PropertyChanged (Expéditeur ByVal en tant qu'objet, ByVal e en tant que System.ComponentModel.PropertyChangedEventArgs) Implémente System.ComponentModel.INotifyPropertyChanged.PropertyChanged' –