Dans Silverlight, ajouter propriété personnalisée à une classe LINQ généré + gérer les événements
-
30-09-2019 - |
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
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