Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Abonnements

NotifyPropertyChanged… en VB

Dans ce post, je considère l’évènement PropertyChanged comme une Propriété de type PropertyChangedEventHandler. Le problème c’est que en VB… cela n’est pas possible.

Aussi ceux qui font du VB, des modifications s’imposent :

Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged

Private _notifyPropertyChanged As NotifyPropertyChanged
Public ReadOnly Property NotifyPropertyChanged As NotifyPropertyChanged
    Get
        If _notifyPropertyChanged Is Nothing Then _
            _notifyPropertyChanged = New NotifyPropertyChanged(Me, Sub(propertyName As String) RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName)))
        Return _notifyPropertyChanged
    End Get
End Property
Public Class NotifyPropertyChanged
    Private _raiseEvent As Action(Of String)
    Private _sender As Object

    Public Sub New(ByVal sender As Object, ByVal [raiseEvent] As Action(Of String))
        _raiseEvent = [raiseEvent]
        _sender = sender
    End Sub

    Public Sub RaisePropertyChanged(ByVal propName As String)
        If _raiseEvent IsNot Nothing Then _raiseEvent(propName)
    End Sub

    Public Sub RaisePropertyChanged(Of T)(ByVal exp As Expression(Of Func(Of T)))
        Dim expPropertyName As String = PropertyName.GetPropertyName(exp)
        If expPropertyName IsNot Nothing Then RaisePropertyChanged(expPropertyName)
    End Sub
End Class

Public Module PropertyName
    Public Function GetPropertyName(ByVal exp As LambdaExpression) As String
        Dim memberExpression = TryCast(exp.Body, MemberExpression)
        If memberExpression IsNot Nothing Then Return memberExpression.Member.Name
        Return Nothing
    End Function
End Module

Il y a peut-être mieux comme solution. N’hésitez pas à me laisser un commentaire dans ce cas.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Publié dimanche 29 août 2010 13:48 par Matthieu MEZIL

Classé sous : ,

Commentaires

# re: NotifyPropertyChanged… en VB @ dimanche 29 août 2010 14:20

Merci BEAUCOUP Mathieu,

C'est très gentil et très pro!!

Je me suis aussitôt inscrite...En tout cas les codes sont très bien commentés est expliqués. Ce code, je le cherchais depuis un moment et est vraiment ce qu'il me fallait...Merci encore.

Moi_Sandra

# re: NotifyPropertyChanged… en VB @ dimanche 29 août 2010 15:25

Une dernière petite question (je sais j'exagère!!)

Comment intercepter à l'autre bout la propriété qui a changée..?? Par exemple la propriété Nom a changé, hors, par ex, elle est dans une form dans une list..Comment retrouver cet élément là dans la liste par exemple.???

Allez je t'embêtes plus!! Merci beaucoup

Moi_Sandra

# re: NotifyPropertyChanged… en VB @ dimanche 29 août 2010 16:37

Pas sûr de comprendre la question mais en s'abonnant à l'évènement PropertyChanged, on peut récupérer le PropertyName.

Matthieu MEZIL

# re: NotifyPropertyChanged… en VB @ dimanche 29 août 2010 16:55

Merci de ta réponse, mais justement comment récupérer cette valeur..?

Moi_Sandra

# re: NotifyPropertyChanged… en VB @ dimanche 29 août 2010 18:07

C'est bon j'ai trouvé, c'était probablement la fatigue: En tout cas je viendrais souvent voir ce blog..MERCI POUR TOUT Mathieu et bonne soirée..

Moi_Sandra

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01