2016-03-31 19 views
0

私のプログラムでは、クラス変数を使用してPowerShapeというCAD/CAMソフトウェアから情報を接続、制御、抽出するのに問題があります。外部プログラムで可変プロパティの変更を聞く方法

私がしようとしているのは、このクラス変数を聞いて、Powershape内で何かを行うと起こるプロパティの変化を検出することです。これには、アクティブウィンドウまたはモデルがPowershape内で変更されることが含まれます。変更が行われたときにクラス変数が更新されていますが、それを検出する方法がわかりません。

クラス変数は、それがあるPowerSHAPEに接続して、あなたがそのプロパティにアクセスすることができ宣言されています

Dim powershapeRoot As New PSAutomation(Delcam.ProductInterface.InstanceReuse.UseExistingInstance) 
Dim PSmodelname = PowershapeRoot.activemodel.name 

今、私は、変数プロパティ「PowershapeRoot.activemodel.name」を聴くのが好きで、それが変わるかどうかを確認します

これを行う方法?

答えて

0

プロパティの変更を検出するには、INotifyPropertyChangedインターフェイスを使用できます。

hereは、MSDNのドキュメントです。

あなたのプロパティの設定者では、イベントを発生させるためのコードを含める必要があります。以下の例はVB.NETで見つけることができます:

Public Class Demo Implements INotifyPropertyChanged 

    Private nameValue As String = String.Empty 

    Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged 

    Private Sub NotifyPropertyChanged(ByVal info As String) 
     RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info)) 
    End Sub 

    Public Property name() As String 
     Get 
      Return Me.nameValue 
    End Get 

    'Raise the event in the setter 
    Set(ByVal value As String) 
     If Not (value = nameValue) Then 
      Me.nameValue = value 
      NotifyPropertyChanged("name") 
     End If 
    End Set 
    End Property 
End Class 
関連する問題