ControlDesignerSetEditableDesignerRegionContent Method
 

Specifies the content for an editable region of the control at design time.

Namespace:   System.Web.UI.Design
Assembly:  System.Design (in System.Design.dll)

public virtual void SetEditableDesignerRegionContent(
	EditableDesignerRegion region,
	string content
)
public:
virtual void SetEditableDesignerRegionContent(
	EditableDesignerRegion^ region,
	String^ content
)
abstract SetEditableDesignerRegionContent : 
        region:EditableDesignerRegion *
        content:string -> unit
override SetEditableDesignerRegionContent : 
        region:EditableDesignerRegion *
        content:string -> unit
Public Overridable Sub SetEditableDesignerRegionContent (
	region As EditableDesignerRegion,
	content As String
)

Parameters

region
Type:

An editable design region contained within the control.

content
Type:

The content to assign for the editable design region.

Classes deriving from the ControlDesigner class can support region-based editing on the design surface and override the SetEditableDesignerRegionContent method to set the content for a specified region.

The following code example shows how to get a reference to the design host, and then use the reference to create a ControlParser object that turns content into an instance of the ITemplate interface and assigns the ITemplate instance to the appropriate view.

// 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
.NET Framework
Available since 2.0
Return to top