public static void InitializeEventBindingProvider(object designerContext, PythonFileNode codeNode) { if (_designerContextType != null) { InitializeEventBindingProviderNoInline(designerContext, codeNode); } }
public override int QueryService(ref Guid guidService, out object result) { var model = ProjectMgr.GetService(typeof(SComponentModel)) as IComponentModel; var designerSupport = model?.GetService <IXamlDesignerSupport>(); if (designerSupport != null && guidService == designerSupport.DesignerContextTypeGuid && Path.GetExtension(Url).Equals(".xaml", StringComparison.OrdinalIgnoreCase)) { // Create a DesignerContext for the XAML designer for this file if (_designerContext == null) { _designerContext = designerSupport.CreateDesignerContext(); var child = ( // look for spam.py ProjectMgr.FindNodeByFullPath(Path.ChangeExtension(Url, PythonConstants.FileExtension)) ?? // then look for spam.pyw ProjectMgr.FindNodeByFullPath(Path.ChangeExtension(Url, PythonConstants.WindowsFileExtension)) ) as CommonFileNode; if (child != null) { PythonFileNode pythonNode = child as PythonFileNode; if (pythonNode != null) { designerSupport.InitializeEventBindingProvider( _designerContext, new XamlCallback(pythonNode) ); } } } result = _designerContext; return(VSConstants.S_OK); } return(base.QueryService(ref guidService, out result)); }
private static void InitializeEventBindingProviderNoInline(object designerContext, PythonFileNode codeNode) { Debug.Assert(designerContext is DesignerContext); ((DesignerContext)designerContext).EventBindingProvider = new WpfEventBindingProvider(codeNode as PythonFileNode); }
public XamlCallback(PythonFileNode node) { _node = node; }
public XamlCallback(PythonFileNode node) { _node = node; }
private static void InitializeEventBindingProviderNoInline(object designerContext, PythonFileNode codeNode) { Debug.Assert(designerContext is DesignerContext); ((DesignerContext)designerContext).EventBindingProvider = new WpfEventBindingProvider(codeNode as PythonFileNode); }
public static void InitializeEventBindingProvider(object designerContext, PythonFileNode codeNode) { if (_designerContextType != null) { InitializeEventBindingProviderNoInline(designerContext, codeNode); } }