Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Silverlight中,将自定义属性添加到生成的Linq类+;管理事件_Silverlight_Linq_Datacontract_Deserialization - Fatal编程技术网

在Silverlight中,将自定义属性添加到生成的Linq类+;管理事件

在Silverlight中,将自定义属性添加到生成的Linq类+;管理事件,silverlight,linq,datacontract,deserialization,Silverlight,Linq,Datacontract,Deserialization,我在WCF中使用LINQtoSQL类。这些类从WCF方法返回给Silverlight。现在,我想在生成的类(Silverlight端)上添加一个自定义属性,并基于另一个属性的另一个PropertyChangedEvent在该特定属性上触发PropertyChangedEvent。需要说明的是,这里有一段代码不起作用: 问题是New()中的代码从未执行过,因此我不知道ConnectionType何时更改,因此无法触发ConnectionTypeEnum上的PropertyChanged。(此属

我在WCF中使用LINQtoSQL类。这些类从WCF方法返回给Silverlight。现在,我想在生成的类(Silverlight端)上添加一个自定义属性,并基于另一个属性的另一个PropertyChangedEvent在该特定属性上触发PropertyChangedEvent。需要说明的是,这里有一段代码不起作用:

问题是New()中的代码从未执行过,因此我不知道ConnectionType何时更改,因此无法触发ConnectionTypeEnum上的PropertyChanged。(此属性用于单向绑定,因此我需要它)

有人能解决这个问题吗

谢谢

您可以使用

_
序列化时的公共子对象(上下文作为StreamingContext)
AddHandler Me.PropertyChanged,AddressOf _PropertyChanged
端接头
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
<OnDeserializedAttribute()> _
Public Sub WhenDeserialized(context As StreamingContext)
    AddHandler Me.PropertyChanged, AddressOf _PropertyChanged
End Sub