2010-12-03 6 views
1

私のWCFでLinq to SQLクラスを使用しています。これらのクラスは、WCFメソッドからSilverlightに返されます。今、私は、生成されたクラス(Silverlight側)にカスタムプロパティを追加し、別のプロパティの別のPropertyChangedEventに基づいて、その特定のプロパティでPropertyChangedEventをトリガーします。明確にするには、ここでは動作しないコードがあります: Silverlightでは、生成されたLinqクラスにカスタムプロパティを追加してイベントを管理します。

 
    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 

問題は、New()のコードが実行されないため、ConnectionTypeが変更されたことを知らないため、PropertyChanged on ConnectionTypeEnum。 (このプロパティはOne-Wayバインディングで使用されるため、必要なので)

誰にでもこの解決策がありますか?あなたが使用することができます

おかげ

答えて

2

OnDeserializedAttribute

<OnDeserializedAttribute()> _ 
Public Sub WhenDeserialized(context As StreamingContext) 
    AddHandler Me.PropertyChanged, AddressOf _PropertyChanged 
End Sub 
+0

はあなたに感謝し、完璧に動作します! –

関連する問題