2016-03-31 129 views
0

我的程序有問題,它的核心使用類變量連接,控制和從CAD/CAM軟件中提取信息,稱爲PowerShape。如何使用外部程序監聽可變屬性更改

我想要做的是聽這個類變量來檢測其屬性發生的變化,如果你在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