コード例 #1
0
        /// <include file='doc\TemplateEditingService.uex' path='docs/doc[@for="TemplateEditingService.GetContainingTemplateName"]/*' />
        public string GetContainingTemplateName(Control control)
        {
            string containingTemplateName = String.Empty;
            HtmlControlDesigner designer  = (HtmlControlDesigner)designerHost.GetDesigner(control);

            if (designer != null)
            {
                IHtmlControlDesignerBehavior behavior = designer.Behavior;

                NativeMethods.IHTMLElement htmlElement = (NativeMethods.IHTMLElement)behavior.DesignTimeElement;
                if (htmlElement != null)
                {
                    object[] varTemplateName = new Object[1];
                    NativeMethods.IHTMLElement htmlelemParentNext;
                    NativeMethods.IHTMLElement htmlelemParentCur = htmlElement.GetParentElement();

                    while (htmlelemParentCur != null)
                    {
                        htmlelemParentCur.GetAttribute("templatename", /*lFlags*/ 0, varTemplateName);

                        if (varTemplateName[0] != null && varTemplateName[0].GetType() == typeof(string))
                        {
                            containingTemplateName = varTemplateName[0].ToString();
                            break;
                        }

                        htmlelemParentNext = htmlelemParentCur.GetParentElement();
                        htmlelemParentCur  = htmlelemParentNext;
                    }
                }
            }

            return(containingTemplateName);
        }
コード例 #2
0
        public string GetContainingTemplateName(Control control)
        {
            string str = string.Empty;
            HtmlControlDesigner designer = (HtmlControlDesigner)this.designerHost.GetDesigner(control);

            if (designer != null)
            {
                System.Design.NativeMethods.IHTMLElement designTimeElement = (System.Design.NativeMethods.IHTMLElement)designer.BehaviorInternal.DesignTimeElement;
                if (designTimeElement == null)
                {
                    return(str);
                }
                object[] pvars = new object[1];
                for (System.Design.NativeMethods.IHTMLElement element3 = designTimeElement.GetParentElement(); element3 != null; element3 = element3.GetParentElement())
                {
                    element3.GetAttribute("templatename", 0, pvars);
                    if ((pvars[0] != null) && (pvars[0].GetType() == typeof(string)))
                    {
                        return(pvars[0].ToString());
                    }
                }
            }
            return(str);
        }