TemplateDefinition Sınıf

Tanım

Tasarım zamanında Web sunucusu denetiminde şablon öğesi tanımlayan özellikler ve yöntemler sağlar.

public ref class TemplateDefinition : System::Web::UI::Design::DesignerObject
public class TemplateDefinition : System.Web.UI.Design.DesignerObject
type TemplateDefinition = class
    inherit DesignerObject
Public Class TemplateDefinition
Inherits DesignerObject
Devralma
TemplateDefinition

Örnekler

Aşağıdaki kod örneği, sınıfından ControlDesigner özel bir sınıfın nasıl türetilmiş olduğunu gösterir. Bu denetim tasarımcısı, dört olası şablon içeren bir denetimi destekler.

Bunu denemek için System.Design.dll derlemesine bir başvuru ekleyin, kodu derleyin ve ardından Visual Studio 2005 gibi bir tasarım konasında Tasarım görünümünde sayfaya bakın. Denetimi seçin, değiştireceğiniz şablonu seçmek için eylem listesine tıklayın ve ardından denetimleri şablona taşımak için sürükle ve bırak özelliğini kullanın.

using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.Design;

namespace ASPNet.Design.Samples
{
    // Set an attribute reference to the designer, and define 
    // the HTML markup that the toolbox will write into the source.
    [Designer(typeof(TemplateGroupsSampleDesigner)),
        ToolboxData("<{0}:TemplateGroupsSample runat=server></{0}:TemplateGroupsSample>")]
    public sealed class TemplateGroupsSample : WebControl, INamingContainer
    {
        // Field for the templates
        private ITemplate[] _templates;

        // Constructor
        public TemplateGroupsSample()
        {
            _templates = new ITemplate[4];
        }

        // For each template property, set the designer attributes 
        // so the property does not appear in the property grid, but 
        // changes to the template are persisted in the control.
        [Browsable(false),
            PersistenceMode(PersistenceMode.InnerProperty)]
        public ITemplate Template1
        {
            get { return _templates[0]; }
            set { _templates[0] = value; }
        }
        [Browsable(false),
            PersistenceMode(PersistenceMode.InnerProperty)]
        public ITemplate Template2
        {
            get { return _templates[1]; }
            set { _templates[1] = value; }
        }
        [Browsable(false),
            PersistenceMode(PersistenceMode.InnerProperty)]
        public ITemplate Template3
        {
            get { return _templates[2]; }
            set { _templates[2] = value; }
        }
        [Browsable(false),
            PersistenceMode(PersistenceMode.InnerProperty)]
        public ITemplate Template4
        {
            get { return _templates[3]; }
            set { _templates[3] = value; }
        }

        protected override void CreateChildControls()
        {
            // Instantiate each template inside a panel
            // then add the panel to the Controls collection
            for (int i = 0; i < 4; i++)
            {
                Panel pan = new Panel();
                _templates[i].InstantiateIn(pan);
                this.Controls.Add(pan);
            }
        }
    }

    // Designer for the TemplateGroupsSample control
    public class TemplateGroupsSampleDesigner : ControlDesigner
    {
        TemplateGroupCollection col = null;

        public override void Initialize(IComponent component)
        {
            // Initialize the base
            base.Initialize(component);
            // Turn on template editing
            SetViewFlags(ViewFlags.TemplateEditing, true);
        }

        // Add instructions to the placeholder view of the control
        public override string GetDesignTimeHtml()
        {
            return CreatePlaceHolderDesignTimeHtml("Click here and use " +
                "the task menu to edit the templates.");
        }

        public override TemplateGroupCollection TemplateGroups
        {
            get
            {

                if (col == null)
                {
                    // Get the base collection
                    col = base.TemplateGroups;

                    // Create variables
                    TemplateGroup tempGroup;
                    TemplateDefinition tempDef;
                    TemplateGroupsSample ctl;

                    // Get reference to the component as TemplateGroupsSample
                    ctl = (TemplateGroupsSample)Component;

                    // Create a TemplateGroup
                    tempGroup = new TemplateGroup("Template Set A");

                    // Create a TemplateDefinition
                    tempDef = new TemplateDefinition(this, "Template A1", 
                        ctl, "Template1", true);

                    // Add the TemplateDefinition to the TemplateGroup
                    tempGroup.AddTemplateDefinition(tempDef);

                    // Create another TemplateDefinition
                    tempDef = new TemplateDefinition(this, "Template A2", 
                        ctl, "Template2", true);

                    // Add the TemplateDefinition to the TemplateGroup
                    tempGroup.AddTemplateDefinition(tempDef);

                    // Add the TemplateGroup to the TemplateGroupCollection
                    col.Add(tempGroup);

                    // Create another TemplateGroup and populate it
                    tempGroup = new TemplateGroup("Template Set B");
                    tempDef = new TemplateDefinition(this, "Template B1", 
                        ctl, "Template3", true);
                    tempGroup.AddTemplateDefinition(tempDef);
                    tempDef = new TemplateDefinition(this, "Template B2", 
                        ctl, "Template4", true);
                    tempGroup.AddTemplateDefinition(tempDef);

                    // Add the TemplateGroup to the TemplateGroupCollection
                    col.Add(tempGroup);
                }

                return col;
            }
        }

        // Do not allow direct resizing unless in TemplateMode
        public override bool AllowResize
        {
            get
            {
                if (this.InTemplateMode)
                    return true;
                else
                    return false;
            }
        }
    }
}
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design

Namespace ASPNet.Design.Samples

    ' Set an attribute reference to the designer, and define 
    ' the HTML markup that the toolbox will write into the source.
    <Designer(GetType(TemplateGroupsSampleDesigner)), _
        ToolboxData("<{0}:TemplateGroupsSample runat=server></{0}:TemplateGroupsSample>")> _
    Public Class TemplateGroupsSample
        Inherits WebControl
        Implements INamingContainer

        ' Field for the templates
        Private _templates() As ITemplate

        ' Constructor
        Public Sub New()
            ReDim _templates(4)
        End Sub

        ' For each template property, set the designer attributes 
        ' so the property does not appear in the property grid, but 
        ' changes to the template are persisted in the control.
        <Browsable(False), _
            PersistenceMode(PersistenceMode.InnerProperty)> _
        Public Property Template1() As ITemplate
            Get
                Return _templates(0)
            End Get
            Set(ByVal Value As ITemplate)
                _templates(0) = Value
            End Set
        End Property
        <Browsable(False), _
            PersistenceMode(PersistenceMode.InnerProperty)> _
        Public Property Template2() As ITemplate
            Get
                Return _templates(1)
            End Get
            Set(ByVal Value As ITemplate)
                _templates(1) = Value
            End Set
        End Property
        <Browsable(False), _
            PersistenceMode(PersistenceMode.InnerProperty)> _
        Public Property Template3() As ITemplate
            Get
                Return _templates(2)
            End Get
            Set(ByVal Value As ITemplate)
                _templates(2) = Value
            End Set
        End Property
        <Browsable(False), _
            PersistenceMode(PersistenceMode.InnerProperty)> _
        Public Property Template4() As ITemplate
            Get
                Return _templates(3)
            End Get
            Set(ByVal Value As ITemplate)
                _templates(3) = Value
            End Set
        End Property

        Protected Overrides Sub CreateChildControls()
            ' Instantiate the template inside the panel
            ' then add the panel to the Controls collection
            Dim i As Integer

            For i = 0 To 3
                Dim pan As New Panel()
                _templates(i).InstantiateIn(pan)
                Me.Controls.Add(pan)
            Next
        End Sub

    End Class

    ' Designer for the TemplateGroupsSample class
    Public Class TemplateGroupsSampleDesigner
        Inherits System.Web.UI.Design.ControlDesigner

        Private col As TemplateGroupCollection = Nothing

        Public Overrides Sub Initialize(ByVal Component As IComponent)
            ' Initialize the base
            MyBase.Initialize(Component)
            ' Turn on template editing
            SetViewFlags(ViewFlags.TemplateEditing, True)
        End Sub

        ' Add instructions to the placeholder view of the control
        Public Overloads Overrides Function GetDesignTimeHtml() As String
            Return CreatePlaceHolderDesignTimeHtml("Click here and use " & _
                "the task menu to edit the templates.")
        End Function

        Public Overrides ReadOnly Property TemplateGroups() As TemplateGroupCollection
            Get
                If IsNothing(col) Then
                    ' Get the base collection
                    col = MyBase.TemplateGroups

                    ' Create variables
                    Dim tempGroup As TemplateGroup
                    Dim tempDef As TemplateDefinition
                    Dim ctl As TemplateGroupsSample

                    ' Get reference to the component as TemplateGroupsSample
                    ctl = CType(Component, TemplateGroupsSample)

                    ' Create a TemplateGroup
                    tempGroup = New TemplateGroup("Template Set A")

                    ' Create a TemplateDefinition
                    tempDef = New TemplateDefinition(Me, "Template A1", ctl, "Template1", True)

                    ' Add the TemplateDefinition to the TemplateGroup
                    tempGroup.AddTemplateDefinition(tempDef)

                    ' Create another TemplateDefinition
                    tempDef = New TemplateDefinition(Me, "Template A2", ctl, "Template2", True)

                    ' Add the TemplateDefinition to the TemplateGroup
                    tempGroup.AddTemplateDefinition(tempDef)

                    ' Add the TemplateGroup to the TemplateGroupCollection
                    col.Add(tempGroup)

                    ' Create another TemplateGroup and populate it
                    tempGroup = New TemplateGroup("Template Set B")
                    tempDef = New TemplateDefinition(Me, "Template B1", ctl, "Template3", True)
                    tempGroup.AddTemplateDefinition(tempDef)
                    tempDef = New TemplateDefinition(Me, "Template B2", ctl, "Template4", True)
                    tempGroup.AddTemplateDefinition(tempDef)

                    ' Add the TemplateGroup to the TemplateGroupCollection
                    col.Add(tempGroup)
                End If

                Return col
            End Get
        End Property

        ' Do not allow direct resizing unless in TemplateMode
        Public Overrides ReadOnly Property AllowResize() As Boolean
            Get
                If Me.InTemplateMode Then
                    Return True
                Else
                    Return False
                End If
            End Get
        End Property
    End Class
End Namespace
<%@ Page Language="VB" %>
<%@ Register TagPrefix="aspSample" 
    Namespace="ASPNet.Design.Samples" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
       <aspSample:TemplateGroupsSample runat="server" ID="TGSample1">
       </aspSample:TemplateGroupsSample>
    
    </div>
    </form>
</body>
</html>

Açıklamalar

sınıfı, TemplateDefinition Visual Studio 2005 gibi bir tasarım konağından şablonlu denetimler için destek sağlamada kullanmak üzere bir denetim tasarımcısı için devralınabilen ve genişletilebilen bir temel şablon tanımı sınıfı sağlar. Tasarım konağı, tasarım zamanında şablon oluşturmayı ve düzenlemeyi kolaylaştırmak için sınıfın TemplateDefinition özelliklerini ve yöntemlerini kullanır.

Oluşturucular

TemplateDefinition(ControlDesigner, String, Object, String)

Sağlanan tasarımcıyı, şablon adını, şablonu ve özellik adını kullanarak sınıfın yeni bir örneğini TemplateDefinition başlatır.

TemplateDefinition(ControlDesigner, String, Object, String, Boolean)

Sağlanan tasarımcıyı, şablon adını, şablonu, özellik adını ve şablon içeriğinin Web sunucusu denetimleriyle sınırlanıp sınırlandırılmayacağını kullanarak sınıfın yeni bir örneğini TemplateDefinition başlatır.

TemplateDefinition(ControlDesigner, String, Object, String, Style)

Sağlanan tasarımcıyı, şablon adını, şablonu, özellik adını ve Style nesnesini kullanarak sınıfın yeni bir örneğini TemplateDefinition başlatır.

TemplateDefinition(ControlDesigner, String, Object, String, Style, Boolean)

Sağlanan tasarımcıyı, şablon adını, şablonu, özellik adınıStyle, nesnesini ve içeriğin Web sunucusu denetimleriyle sınırlanıp sınırlandırılmayacağını kullanarak sınıfın yeni bir örneğini TemplateDefinition başlatır.

Özellikler

AllowEditing

Şablonun içeriğini düzenlemeyi etkinleştirmesi gerekip gerekmediğini gösteren bir değer alır.

Content

Şablonun içeriğini temsil eden HTML işaretlemesini alır veya ayarlar.

Designer

İlişkili tasarımcı bileşenini alır.

(Devralındığı yer: DesignerObject)
Name

Nesnenin adını alır.

(Devralındığı yer: DesignerObject)
Properties

Nesnenin özelliklerini alır.

(Devralındığı yer: DesignerObject)
ServerControlsOnly

Şablonun oluşturucuda TemplateDefinition ayarlandığı gibi içeriği Web sunucusu denetimleriyle sınırlaması gerekip gerekmediğini belirten bir değer alır. Bu özellik salt okunur durumdadır.

Style

Oluşturucuda ayarlandığı TemplateDefinition gibi şablona uygulanması gereken stili alır. Bu özellik salt okunur durumdadır.

SupportsDataBinding

Şablonun veri bağlamayı destekleyip desteklemediğini belirten bir değer alır veya ayarlar.

TemplatedObject

Şablonun bulunduğu bileşeni alır. Bu özellik salt okunur durumdadır.

TemplatePropertyName

Tasarım ana bilgisayarının özellik kılavuzunda görüntülemesi gereken şablonun özellik adını alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetService(Type)

Sağlanan tür tarafından tanımlanan tasarım konağından bir hizmet alır.

(Devralındığı yer: DesignerObject)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IServiceProvider.GetService(Type)

Bu üyenin açıklaması için bkz GetService(Type). .

(Devralındığı yer: DesignerObject)

Uzantı Metotları

GetKeyedService<T>(IServiceProvider, Object)

türünde IServiceProviderbir hizmet T alır.

GetKeyedServices(IServiceProvider, Type, Object)

türünde hizmetlerin serviceType bir numaralandırmasını IServiceProvideralır.

GetKeyedServices<T>(IServiceProvider, Object)

türünde hizmetlerin T bir numaralandırmasını IServiceProvideralır.

GetRequiredKeyedService(IServiceProvider, Type, Object)

türünde IServiceProviderbir hizmet serviceType alır.

GetRequiredKeyedService<T>(IServiceProvider, Object)

türünde IServiceProviderbir hizmet T alır.

CreateAsyncScope(IServiceProvider)

Kapsamı belirlenmiş hizmetleri çözümlemek için kullanılabilecek yeni AsyncServiceScope bir oluşturur.

CreateScope(IServiceProvider)

Kapsamı belirlenmiş hizmetleri çözümlemek için kullanılabilecek yeni IServiceScope bir oluşturur.

GetRequiredService(IServiceProvider, Type)

türünden serviceTypeIServiceProviderhizmet alın.

GetRequiredService<T>(IServiceProvider)

türünden TIServiceProviderhizmet alın.

GetService<T>(IServiceProvider)

türünden TIServiceProviderhizmet alın.

GetServices(IServiceProvider, Type)

türünde bir hizmet serviceTypeIServiceProviderlistesi alın.

GetServices<T>(IServiceProvider)

türünde bir hizmet TIServiceProviderlistesi alın.

GetFakeLogCollector(IServiceProvider)

Sahte günlükçüye gönderilen günlük kayıtlarını toplayan nesneyi alır.

GetFakeRedactionCollector(IServiceProvider)

Bağımlılık ekleme kapsayıcısından sahte redaktör toplayıcı örneğini alır.

Şunlara uygulanır

Ayrıca bkz.