我在 Silverlight 应用程序中有一个列表框。列表框:
<ListBox Grid.Row="1" Grid.ColumnSpan="2" Name="lbHazards" Margin="5"
         MinHeight="75" ItemsSource="{Binding Path=HazListByTaskIDCollection}"
         DisplayMemberPath="sHaz_Name"
         IsEnabled="{Binding Path=IsEnabled}" />
在我的视图模型中
Private _HazListByTaskIDCollection As ObservableCollection(Of vw_HazList_By_TaskID)
Public Property HazListByTaskIDCollection() As ObservableCollection(Of vw_HazList_By_TaskID)
    Get
        Return _HazListByTaskIDCollection
    End Get
    Set(ByVal value As ObservableCollection(Of vw_HazList_By_TaskID))
        _HazListByTaskIDCollection = value
        'Used to notify CommonBase class that a property change has occured
        RaisePropertyChanged("HazListByTaskIDCollection")
    End Set
End Property
然后我在视图模型中有一个子:
Public Sub FillHazList(ByVal iHazID As Integer, ByVal sHaz_Name As String)
    Try
        Dim yy = New vw_HazList_By_TaskID
        yy.iHazID = iHazID
        yy.sHaz_Name = sHaz_Name
        HazListByTaskIDCollection.Add(yy)
    Catch ex As Exception
        DisplayError("Error Happened", ex)
    End Try
End Sub
当这个 Sub 被调用时,这完美地工作,该项目被添加到列表框中。但我还需要能够从列表框中删除项目所以我认为这很容易所以我创建了另一个子
Public Sub RemoveHazListItem(ByVal iHazID As Integer, ByVal sHaz_Name As String)
    Try
        Dim yyy = New vw_HazList_By_TaskID
        yyy.iHazID = iHazID
        yyy.sHaz_Name = sHaz_Name
        HazListByTaskIDCollection.Remove(yyy)
        HazListByTaskIDCollection.Clear()
    Catch ex As Exception
        DisplayError("Error Happened", ex)
    End Try
End Sub
这运行没有错误,但它不会从列表框中删除该项目。
我究竟做错了什么?