ControlDesigner.SetEditableDesignerRegionContent 方法

定义

指定设计时控件可编辑区域的内容。

public:
 virtual void SetEditableDesignerRegionContent(System::Web::UI::Design::EditableDesignerRegion ^ region, System::String ^ content);
public virtual void SetEditableDesignerRegionContent (System.Web.UI.Design.EditableDesignerRegion region, string content);
abstract member SetEditableDesignerRegionContent : System.Web.UI.Design.EditableDesignerRegion * string -> unit
override this.SetEditableDesignerRegionContent : System.Web.UI.Design.EditableDesignerRegion * string -> unit
Public Overridable Sub SetEditableDesignerRegionContent (region As EditableDesignerRegion, content As String)

参数

region
EditableDesignerRegion

控件内包含的可编辑设计区域。

content
String

要为可编辑设计区域分配的内容。

示例

下面的代码示例演示如何获取对设计宿主的引用,然后使用该引用创建一个 ControlParser 对象,该对象将转换为 content 接口的 ITemplate 实例并将该 ITemplate 实例分配给相应的视图。

// Create a template from the content string and  
// put it in the selected view.
public override void SetEditableDesignerRegionContent(EditableDesignerRegion region, string content)
{
    if (content == null)
        return;

    // Get a reference to the designer host
    IDesignerHost host = (IDesignerHost)Component.Site.GetService(typeof(IDesignerHost));
    if (host != null)
    {
        // Create a template from the content string
        ITemplate template = ControlParser.ParseTemplate(host, content);

        // Determine which region should get the template
        // Either 'Content0' or 'Content1'
        if (region.Name.EndsWith("0"))
            myControl.View1 = template;
        else if (region.Name.EndsWith("1"))
            myControl.View2 = template;
    }
}
' Create a template from the content string and put it 
' in the selected view. Called by the designer host?
Public Overrides Sub SetEditableDesignerRegionContent(ByVal region As EditableDesignerRegion, ByVal content As String)
    If IsNothing(content) Then
        Return
    End If

    ' Get a reference to the designer host
    Dim host As IDesignerHost = CType(Component.Site.GetService(GetType(IDesignerHost)), IDesignerHost)
    If Not IsNothing(host) Then
        ' Create a template from the content string
        Dim template As ITemplate = ControlParser.ParseTemplate(host, content)

        ' Determine which region should get the template
        If region.Name.EndsWith("0") Then
            myControl.View1 = template
        ElseIf region.Name.EndsWith("1") Then
            myControl.View2 = template
        End If

    End If
End Sub

注解

派生自 类的 ControlDesigner 类可以在设计图面上支持基于区域的编辑,并重写 SetEditableDesignerRegionContent 方法以设置指定区域的内容。

适用于

另请参阅