private bool HasBindingPropertiesListChangedEvent()
{
    var targetType = this._propertiesProvider.Properties.GetType();
    var eventField = targetType.GetField("ListChanged", BindingFlags.Instance | BindingFlags.NonPublic);
    if (eventField == null)
    {
        return false;
    }

    var handle = eventField.GetValue(this._propertiesProvider.Properties) as ListChangedEventHandler;
    if (handle == null)
    {
        return false;
    }

    return handle.GetInvocationList().Find(x => typeof(DataEntityPanelViewModel_OL).Name == x.Target.GetType().Name) != null;
}

相关文章: