ControlBuilder.InDesigner 属性


返回 ControlBuilder 是否正在设计器中运行。Returns whether the ControlBuilder is running in the designer.

 property bool InDesigner { bool get(); };
protected bool InDesigner { get; }
member this.InDesigner : bool
Protected ReadOnly Property InDesigner As Boolean


如果 ControlBuilder 正在设计器中运行,则为 true;否则为 falsetrue if the ControlBuilder is running in the designer; otherwise, false.


下面的示例使用调用 NeedsTagInnerText 方法时的 InDesigner 属性。The following example uses the InDesigner property when the NeedsTagInnerText method is called. 当控件附加了此生成器时,NeedsTagInnerText 方法将通过设计器确定是否正在设计时访问该控件。When a control has this builder attached to it, the NeedsTagInnerText method determines whether the control is being accessed at design-time through a designer. NeedsTagInnerText 返回 InDesigner 属性的值,然后调用 SetTagInnerText 方法。The NeedsTagInnerText returns the value of the InDesigner property, and then the SetTagInnerText method is called. 如果 InDesigner 属性设置为 false,则会引发 ExceptionIf the InDesigner property is set to false, an Exception is thrown. 否则,将在 SetTagInnerText 调用时返回控件的内部文本。Otherwise, the inner text of the control is returned on the SetTagInnerText call.

public sealed class MyControlControlBuilder : ControlBuilder
    private string _innerText;

    public override bool NeedsTagInnerText()
        return InDesigner;

    public override void SetTagInnerText(string text)
        if (!InDesigner)
            throw new Exception("The control is not in design mode.");
            _innerText = text;
<AspNetHostingPermission(SecurityAction.Demand, _
  Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class MyControlControlBuilder
  Inherits ControlBuilder
    Private _innerText As String
    Overrides Public Function NeedsTagInnerText() As Boolean
      Return InDesigner
    End Function
    Overrides Public Sub SetTagInnerText(ByVal text As String)        
       If InDesigner = False
         Throw New System.Exception("The control is not in design mode.")
         _innerText = text
       End If
    End Sub
End Class