ControlDesigner.SetEditableDesignerRegionContent Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Specifies the content for an editable region of the control at design time.
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)
Parameters
- region
- EditableDesignerRegion
An editable design region contained within the control.
- content
- String
The content to assign for the editable design region.
Examples
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
Remarks
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.