ControlDesigner.SetEditableDesignerRegionContent 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定设计时控件可编辑区域的内容。
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 方法以设置指定区域的内容。