En Silverlight, añadir la propiedad personalizada a una clase LINQ generada + Organizar eventos
-
30-09-2019 - |
Pregunta
Estoy usando LINQ a SQL clases en mi WCF. Estas clases son devueltos a partir de los métodos de WCF al Silverlight. Ahora, quiero agregar una propiedad personalizada en un (lado Silverlight) la clase generada y desencadenar una PropertyChangedEvent en esa propiedad en particular, sobre la base de otra PropertyChangedEvent de otra propiedad. Para que quede claro, aquí hay un trozo de código que no funciona:
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
El problema es que el código en Nueva () nunca se ejecuta, así que nunca se sabe cuando se cambia el ConnectionType, así que no puedo activar el PropertyChanged en ConnectionTypeEnum. (Esta propiedad se utiliza un solo sentido en la unión de modo que lo necesito)
¿Alguien tiene una solución para esto?
Gracias
Solución
Se puede utilizar OnDeserializedAttribute
<OnDeserializedAttribute()> _
Public Sub WhenDeserialized(context As StreamingContext)
AddHandler Me.PropertyChanged, AddressOf _PropertyChanged
End Sub
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow