Dans Silverlight, ajouter propriété personnalisée à une classe LINQ généré + gérer les événements

StackOverflow https://stackoverflow.com/questions/4345991

Question

J'utilise Linq à des classes SQL dans mon WCF. Ces classes sont retournées des méthodes de WCF pour Silverlight. Maintenant, je veux ajouter une propriété personnalisée sur la classe générée (côté Silverlight) et déclencher une PropertyChangedEvent sur cette propriété particulière, basée sur une autre PropertyChangedEvent d'une autre propriété. Pour être clair, voici un morceau de code qui ne fonctionne pas:

    Partial Public Class DataConnection
Public Sub New() AddHandler Me.PropertyChanged, AddressOf _PropertyChanged End Sub

        Private Sub _PropertyChanged(ByVal sender As Object, ByVal e As PropertyChangedEventArgs)
            If e.PropertyName = "ConnectionType" Then
                Me.RaisePropertyChanged("ConnectionTypeEnum")
            End If
        End Sub

        Private _ConnectionTypeEnum As String
        Public ReadOnly Property ConnectionTypeEnum() As String
            Get
                Select Case Me.ConnectionType
                    Return //Something based on ConnectionType //
                End Select
            End Get
        End Property


    End Class

Le problème est que le code à New () est jamais exécuté, donc je ne sais jamais quand le ConnectionType est changé, donc je ne peux pas déclencher le PropertyChanged sur ConnectionTypeEnum. (Cette propriété est utilisé dans One-Way liant donc je besoin)

Quelqu'un at-il une solution pour cela?

Merci

Était-ce utile?

La solution

Vous pouvez utiliser OnDeserializedAttribute

<OnDeserializedAttribute()> _
Public Sub WhenDeserialized(context As StreamingContext)
    AddHandler Me.PropertyChanged, AddressOf _PropertyChanged
End Sub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top