Browse Source

XamlBinding: Added EventSetter completion

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4402 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Siegfried Pammer 17 years ago
parent
commit
f8eaaace4e
  1. 18
      src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCodeCompletionBinding.cs

18
src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCodeCompletionBinding.cs

@ -234,12 +234,26 @@ namespace ICSharpCode.XamlBinding @@ -234,12 +234,26 @@ namespace ICSharpCode.XamlBinding
var evtMember = XamlResolver.Resolve(GetTypeNameFromTypeExtension(value.ExtensionValue) + "." + evtType.StringValue, context) as MemberResolveResult;
if (evtMember == null || evtMember.ResolvedMember == null || !(evtMember.ResolvedMember is IMethod))
if (evtMember == null || evtMember.ResolvedMember == null || !(evtMember.ResolvedMember is IEvent) || evtMember.ResolvedMember.ReturnType == null)
break;
IMethod invoker = evtMember.ResolvedMember as IMethod;
IClass c = (evtMember.ResolvedMember as IEvent).ReturnType.GetUnderlyingClass();
if (c == null)
break;
IMethod invoker = c.Methods.FirstOrDefault(m => m.Name == "Invoke");
if (invoker == null)
break;
var list = new List<ICompletionItem>() {
new NewEventCompletionItem(evtMember.ResolvedMember as IEvent, typeName.Name)
};
completionList.Items.AddRange(
CompletionDataHelper.AddMatchingEventHandlers(context, invoker).Concat(list)
);
break;
}
}

Loading…
Cancel
Save