WebPartDesigner Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece suporte visual para WebPart controlos em tempo de design.
public ref class WebPartDesigner : System::Web::UI::Design::WebControls::WebParts::PartDesigner
public class WebPartDesigner : System.Web.UI.Design.WebControls.WebParts.PartDesigner
type WebPartDesigner = class
inherit PartDesigner
Public Class WebPartDesigner
Inherits PartDesigner
- Herança
Exemplos
O seguinte exemplo de código mostra a interação entre um WebPart controlo e o seu associado WebPartDesigner. O WebPart controlo contém um Calendar controlo a partir do qual o utilizador final seleciona a sua data de nascimento, um Button controlo para submeter a seleção e um Label controlo para mostrar uma mensagem no aniversário do utilizador. Verifica WebPartDesigner se o controlo associado é do tipo esperado e depois personaliza a renderização em tempo de design desse controlo. Note-se que as personalizações visuais do designer são visíveis apenas em tempo de design, enquanto as do controlo associado são visíveis tanto em tempo de execução como em tempo de design.
Todos os métodos sobrepostos neste exemplo derivam da ControlDesigner classe base. Para outros membros disponíveis e o seu uso, veja System.Web.UI.Design.ControlDesigner.
using System;
using System.Security.Permissions;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.Design.WebControls.WebParts;
using System.ComponentModel;
/// <summary>
/// BirthdayPart demonstrates some of the most
/// common overrides of members of the WebPart
/// class. BirthdayPartDesigner shows how to
/// customize the rendering of a custom WebPart
/// control.
/// </summary>
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand,
Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level=AspNetHostingPermissionLevel.Minimal)]
[Designer(typeof(BirthdayPartDesigner))]
public class BirthdayPart : WebPart
{
private DateTime birthDate;
Calendar input;
Label displayContent;
public BirthdayPart()
{
this.AllowClose = false;
this.Title = "Enter your birthday";
}
[
Personalizable(PersonalizationScope.User, true),
WebBrowsable()
]
public DateTime BirthDate
{
get { return birthDate; }
set { birthDate = value; }
}
// Set the appearance of the control at run time.
protected override void CreateChildControls()
{
Controls.Clear();
input = new Calendar();
this.Controls.Add(input);
Button update = new Button();
update.Text = "Submit";
update.Click += new EventHandler(this.submit_Click);
this.Controls.Add(update);
displayContent = new Label();
displayContent.BackColor =
System.Drawing.Color.LightBlue;
Literal br = new Literal();
br.Text = "<br />";
if ((this.birthDate.Day == DateTime.Now.Day)
&& (this.birthDate.Month == DateTime.Now.Month))
{
displayContent.Text = "Happy Birthday!";
this.Controls.Add(br);
this.Controls.Add(displayContent);
}
}
private void submit_Click(object sender, EventArgs e)
{
this.birthDate = input.SelectedDate;
}
}
public class BirthdayPartDesigner : WebPartDesigner
{
public override void Initialize(IComponent component)
{
// Verify that the associated control is a BirthdayPart.
if (!typeof(BirthdayPart).IsInstanceOfType(component))
{
throw new ArgumentException("The specified control is not of type 'BirthdayPart'", "component");
}
base.Initialize(component);
}
// Here is where you make customizations
// to design time appearance that will not
// be visible to the end user.
public override string GetDesignTimeHtml()
{
string designTimeHtml = null;
try
{
designTimeHtml = base.GetDesignTimeHtml();
string s = "<hr /><hr />I just added these lines to the"
+ " bottom of the control.<hr /><hr /></div>";
designTimeHtml = designTimeHtml.Replace("</div>", s);
}
catch (Exception ex)
{
designTimeHtml = GetErrorDesignTimeHtml(ex);
}
finally
{
// undo any changes in the try block
}
if ((designTimeHtml == null) || (designTimeHtml.Length == 0))
{
designTimeHtml = GetEmptyDesignTimeHtml();
}
return designTimeHtml;
}
// This method normally returns a blank string.
// Override to return a meaningful message.
protected override string GetEmptyDesignTimeHtml()
{
return CreatePlaceHolderDesignTimeHtml(
"<hr />If the page developer forgot to fill in a " +
"required property you could tell them here.<hr />");
}
// Add specific text to the generic error message.
protected override string GetErrorDesignTimeHtml(Exception e)
{
string s = "<hr />The control failed to render.";
return(s + e.Message + "<hr />");
}
}
}
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.Design.WebControls.WebParts
Imports System.ComponentModel
' BirthdayPart demonstrates some of the most
' common overrides of members of the WebPart
' class. BirthdayPartDesigner shows how to
' customize the rendering of a custom WebPart
' control.
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, Level:=AspNetHostingPermissionLevel.Minimal)> _
<Designer(GetType(BirthdayPartDesigner))> _
Public Class BirthdayPart
Inherits WebPart
Private m_birthDate As DateTime
Private input As Calendar
Private displayContent As Label
Public Sub New()
Me.AllowClose = False
Me.Title = "Enter your birthday"
End Sub
<Personalizable(PersonalizationScope.User, True), WebBrowsable()> _
Public Property BirthDate() As DateTime
Get
Return m_birthDate
End Get
Set(value As DateTime)
m_birthDate = value
End Set
End Property
' Set the appearance of the control at run time.
Protected Overrides Sub CreateChildControls()
Controls.Clear()
input = New Calendar()
Me.Controls.Add(input)
Dim update As New Button()
update.Text = "Submit"
AddHandler update.Click, New EventHandler(AddressOf Me.submit_Click)
Me.Controls.Add(update)
displayContent = New Label()
displayContent.BackColor = System.Drawing.Color.LightBlue
Dim br As New Literal()
br.Text = "<br />"
If (Me.m_birthDate.Day = DateTime.Now.Day) AndAlso (Me.m_birthDate.Month = DateTime.Now.Month) Then
displayContent.Text = "Happy Birthday!"
Me.Controls.Add(br)
Me.Controls.Add(displayContent)
End If
End Sub
Private Sub submit_Click(sender As Object, e As EventArgs)
Me.m_birthDate = input.SelectedDate
End Sub
End Class
Public Class BirthdayPartDesigner
Inherits WebPartDesigner
Public Overrides Sub Initialize(component As IComponent)
' Verify that the associated control is a BirthdayPart.
If Not GetType(BirthdayPart).IsInstanceOfType(component) Then
Throw New ArgumentException("The specified control is not of type 'BirthdayPart'", "component")
End If
MyBase.Initialize(component)
End Sub
' Here is where you make customizations
' to design time appearance that will not
' be visible to the end user.
Public Overrides Function GetDesignTimeHtml() As String
Dim designTimeHtml As String = Nothing
Try
designTimeHtml = MyBase.GetDesignTimeHtml()
Dim s As String = "<hr /><hr />I just added these lines to the" & " bottom of the control.<hr /><hr /></div>"
designTimeHtml = designTimeHtml.Replace("</div>", s)
Catch ex As Exception
designTimeHtml = GetErrorDesignTimeHtml(ex)
' undo any changes in the try block
Finally
End Try
If (designTimeHtml Is Nothing) OrElse (designTimeHtml.Length = 0) Then
designTimeHtml = GetEmptyDesignTimeHtml()
End If
Return designTimeHtml
End Function
' This method normally returns a blank string.
' Override to return a meaningful message.
Protected Overrides Function GetEmptyDesignTimeHtml() As String
Return CreatePlaceHolderDesignTimeHtml("<hr />If the page developer forgot to fill in a " & "required property you could tell them here.<hr />")
End Function
' Add specific text to the generic error message.
Protected Overrides Function GetErrorDesignTimeHtml(e As Exception) As String
Dim s As String = "<hr />The control failed to render."
Return (s & e.Message & "<hr />")
End Function
End Class
End Namespace
Observações
A WebPartDesigner classe fornece a representação visual dos WebPart controlos no momento do design. É derivado da PartDesigner classe e adiciona validação para verificar se o controlo associado é de um WebPart tipo de controlo ou derivado.
WebPartDesigner herda uma UsePreviewControl propriedade do seu progenitor que é sempre definida como true. Isto faz com que o ambiente de design visual gere um View controlo para manter uma cópia temporária do WebPart na superfície de design; esta cópia é então mantida na marcação. Se sobrescreveres a UsePreviewControl propriedade para devolver false, o ambiente de design visual gera marcação diretamente a partir do controlo real WebPart .
Os designers de Web Parts geralmente agem de forma semelhante aos designers de controlo regulares; Os principais métodos para definir a aparência em tempo de design derivam da ControlDesigner classe. Especificamente, pode sobrescrever o GetDesignTimeHtml método para alterar a marcação de tempo de design associada ao controlo. Também pode sobrescrever os GetErrorDesignTimeHtml métodos e GetEmptyDesignTimeHtml para lidar com erros e cadeias vazias (""), respetivamente.
Construtores
| Nome | Descrição |
|---|---|
| WebPartDesigner() |
Inicializa uma nova instância da WebPartDesigner classe. |
Propriedades
| Nome | Descrição |
|---|---|
| ActionLists |
Obtém a coleção da lista de ações para o designer de controlos. (Herdado de ControlDesigner) |
| AllowResize |
Obtém um valor que indica se o controlo pode ser redimensionado no ambiente de design. (Herdado de ControlDesigner) |
| AssociatedComponents |
Obtém a coleção de componentes associados ao componente gerida pelo designer. (Herdado de ComponentDesigner) |
| AutoFormats |
Obtém a coleção de esquemas automáticos de formatação pré-definidos para ser exibida na caixa de diálogo Formato Automático para o controlo associado no momento do design. (Herdado de ControlDesigner) |
| Behavior |
Obsoleto.
Obtém ou define o comportamento DHTML associado ao designer. (Herdado de HtmlControlDesigner) |
| Component |
Recebe o componente que este designer está a desenhar. (Herdado de ComponentDesigner) |
| DataBindings |
Obtém a recolha de ligações de dados para o controlo atual. (Herdado de HtmlControlDesigner) |
| DataBindingsEnabled |
Obtém um valor que indica se a ligação de dados é suportada pela região que contém o controlo associado. (Herdado de ControlDesigner) |
| DesignerState |
Obtém um objeto que é usado para persistir dados para o controlo associado no momento do projeto. (Herdado de ControlDesigner) |
| DesignTimeElement |
Obsoleto.
Obtém o objeto em tempo de design que representa o controlo associado ao HtmlControlDesigner objeto na superfície de projeto. (Herdado de HtmlControlDesigner) |
| DesignTimeElementView |
Obsoleto.
Obtém o objeto de view-control para o designer de controlo. (Herdado de ControlDesigner) |
| DesignTimeHtmlRequiresLoadComplete |
Obsoleto.
Recebe um valor que indica se o host de design deve terminar o carregamento antes de o GetDesignTimeHtml método poder ser chamado. (Herdado de ControlDesigner) |
| Expressions |
Obtém as associações de expressão para o controlo atual no momento do projeto. (Herdado de HtmlControlDesigner) |
| HidePropertiesInTemplateMode |
Recebe um valor que indica se as propriedades do controlo associado estão ocultas quando o controlo está em modo template. (Herdado de ControlDesigner) |
| ID |
Recebe ou define a cadeia ID do controlo. (Herdado de ControlDesigner) |
| InheritanceAttribute |
Obtém um atributo que indica o tipo de herança do componente associado. (Herdado de ComponentDesigner) |
| Inherited |
Recebe um valor que indica se este componente é herdado. (Herdado de ComponentDesigner) |
| InTemplateMode |
Recebe um valor que indica se o controlo está em modo visualização de templates ou edição no host de design. A InTemplateMode propriedade é apenas de leitura. (Herdado de ControlDesigner) |
| IsDirty |
Obsoleto.
Recebe ou define um valor que indica se o controlo do servidor Web foi marcado como alterado. (Herdado de ControlDesigner) |
| ParentComponent |
Obtém o componente pai para este designer. (Herdado de ComponentDesigner) |
| ReadOnly |
Obsoleto.
Recebe ou define um valor que indica se as propriedades do controlo são apenas leitura no momento do projeto. (Herdado de ControlDesigner) |
| RootDesigner |
Obtém o designer de controlos para a página Web Forms que contém o controlo associado. (Herdado de ControlDesigner) |
| ShadowProperties |
Obtém uma coleção de valores de propriedades que sobrepõem as definições do utilizador. (Herdado de ComponentDesigner) |
| ShouldCodeSerialize |
Obsoleto.
Recebe ou define um valor que indica se deve criar uma declaração de campo para o controlo no ficheiro code-behind do documento de design atual durante a serialização. (Herdado de HtmlControlDesigner) |
| Tag |
Obtém um objeto que representa o elemento de marcação HTML para o controlo associado. (Herdado de ControlDesigner) |
| TemplateGroups |
Obtém uma coleção de grupos de modelos, cada um contendo uma ou mais definições de modelos. (Herdado de ControlDesigner) |
| UsePreviewControl |
Obtém um valor que indica se o designer deve usar uma cópia temporária em vez do controlo real associado ao designer para gerar a marcação em tempo de design. (Herdado de PartDesigner) |
| Verbs |
Obtém os verbos em tempo de design suportados pelo componente associado ao designer. (Herdado de ComponentDesigner) |
| ViewControl |
Obtém ou define um controlo de servidor Web que pode ser usado para pré-visualizar a marcação HTML em tempo de design. (Herdado de ControlDesigner) |
| ViewControlCreated |
Recebe ou define um valor que indica se foi criado um |
| Visible |
Obtém um valor que indica se o controlo é visível no momento do projeto. (Herdado de ControlDesigner) |
Métodos
| Nome | Descrição |
|---|---|
| CreateChildControls() |
Cria os controlos filhos desse CompositeControl controlo. (Herdado de CompositeControlDesigner) |
| CreateErrorDesignTimeHtml(String, Exception) |
Cria a marcação HTML para mostrar uma mensagem de erro de exceção especificada no momento do design. (Herdado de ControlDesigner) |
| CreateErrorDesignTimeHtml(String) |
Cria marcação HTML para mostrar uma mensagem de erro especificada no momento do design. (Herdado de ControlDesigner) |
| CreatePlaceHolderDesignTimeHtml() |
Fornece uma representação simples retangular que mostra o tipo e o ID do controlo. (Herdado de ControlDesigner) |
| CreatePlaceHolderDesignTimeHtml(String) |
Fornece uma representação simples retangular que mostra o tipo e o ID do controlo, bem como instruções ou informações adicionais especificadas. (Herdado de ControlDesigner) |
| CreateViewControl() |
Devolve uma cópia do controlo associado para visualização ou renderização na superfície de design. (Herdado de ControlDesigner) |
| Dispose() |
Liberta todos os recursos utilizados pelo ComponentDesigner. (Herdado de ComponentDesigner) |
| Dispose(Boolean) |
Liberta os recursos não geridos que são usados pelo HtmlControlDesigner objeto e, opcionalmente, liberta os recursos geridos. (Herdado de HtmlControlDesigner) |
| DoDefaultAction() |
Cria uma assinatura de método no ficheiro de código-fonte para o evento predefinido no componente e navega pelo cursor do utilizador até essa localização. (Herdado de ComponentDesigner) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetBounds() |
Recupera as coordenadas do retângulo que representam os limites do controlo conforme exibido na superfície de design. (Herdado de ControlDesigner) |
| GetDesignTimeHtml() |
Obtém o HTML que é usado para representar o controlo no momento do design. (Herdado de CompositeControlDesigner) |
| GetDesignTimeHtml(DesignerRegionCollection) |
Recupera a marcação HTML para mostrar o controlo e preenche a coleção com as regiões atuais do designer de controlo. (Herdado de ControlDesigner) |
| GetEditableDesignerRegionContent(EditableDesignerRegion) |
Devolve o conteúdo para uma região editável da vista em tempo de design do controlo associado. (Herdado de ControlDesigner) |
| GetEmptyDesignTimeHtml() |
Recupera a marcação HTML para representar um controlo de servidor Web em tempo de design que não terá representação visual em tempo de execução. (Herdado de ControlDesigner) |
| GetErrorDesignTimeHtml(Exception) |
Recupera a marcação HTML que fornece informações sobre a exceção especificada. (Herdado de ControlDesigner) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetPersistenceContent() |
Recupera a marcação HTML interna persistente do controlo no momento do design. (Herdado de ControlDesigner) |
| GetPersistInnerHtml() |
Obsoleto.
Recupera a marcação HTML interna persistente do controlo. (Herdado de ControlDesigner) |
| GetService(Type) |
Tenta recuperar o tipo de serviço especificado a partir do local do modo de design do componente do projetista. (Herdado de ComponentDesigner) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetViewRendering() |
Recupera um objeto que contém a marcação em tempo de design para o conteúdo e regiões do controlo associado. (Herdado de ControlDesigner) |
| Initialize(IComponent) |
Vincula o projetista a um controlo e valida que o controlo é um WebPart controlo. |
| InitializeExistingComponent(IDictionary) |
Reinicializa um componente existente. (Herdado de ComponentDesigner) |
| InitializeNewComponent(IDictionary) |
Inicializa um componente recém-criado. (Herdado de ComponentDesigner) |
| InitializeNonDefault() |
Obsoleto.
Obsoleto.
Inicializa as definições de um componente importado que já está inicializado para definições diferentes das predefinidas. (Herdado de ComponentDesigner) |
| Invalidate() |
Invalida toda a área do controlo que é exibida na superfície de projeto e sinaliza ao projetista do controlo para redesenhar o controlo. (Herdado de ControlDesigner) |
| Invalidate(Rectangle) |
Invalida a área especificada do controlo que é exibida na superfície de design e sinaliza ao projetista do controlo para redesenhar o controlo. (Herdado de ControlDesigner) |
| InvokeGetInheritanceAttribute(ComponentDesigner) |
Obtém o InheritanceAttribute do especificado ComponentDesigner. (Herdado de ComponentDesigner) |
| IsPropertyBound(String) |
Obsoleto.
Recupera um valor que indica se a propriedade especificada no controlo associado está ligada a dados. (Herdado de ControlDesigner) |
| Localize(IDesignTimeResourceWriter) |
Utiliza o escritor de recursos fornecido para persistir as propriedades localizáveis do controlo associado a um recurso no host de design. (Herdado de ControlDesigner) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnAutoFormatApplied(DesignerAutoFormat) |
Chamado quando um esquema de formatação automático pré-definido foi aplicado ao controlo associado. (Herdado de ControlDesigner) |
| OnBehaviorDetaching() |
Obsoleto.
Chamada quando um comportamento se dissocia do elemento. (Herdado de HtmlControlDesigner) |
| OnBindingsCollectionChanged(String) |
Obsoleto.
Chamada quando a coleção de ligação de dados muda. (Herdado de ControlDesigner) |
| OnClick(DesignerRegionMouseEventArgs) |
Chamada pelo anfitrião de design quando o utilizador clica no controlo associado no momento do design. (Herdado de ControlDesigner) |
| OnComponentChanged(Object, ComponentChangedEventArgs) |
Chamada quando o controlo associado muda. (Herdado de ControlDesigner) |
| OnComponentChanging(Object, ComponentChangingEventArgs) |
Representa o método que irá gerir o ComponentChanging evento para o controlo associado. (Herdado de ControlDesigner) |
| OnControlResize() |
Obsoleto.
Chamado quando o controlo do servidor Web associado foi redimensionado no host de design em tempo de design. (Herdado de ControlDesigner) |
| OnPaint(PaintEventArgs) |
Chamado quando o projetista de controlo desenha o controlo associado na superfície de projeto, se o CustomPaint valor for |
| OnSetComponentDefaults() |
Obsoleto.
Obsoleto.
Define as propriedades padrão do componente. (Herdado de ComponentDesigner) |
| OnSetParent() |
Proporciona uma forma de realizar processamento adicional quando o controlo associado está associado a um controlo parental. (Herdado de HtmlControlDesigner) |
| PostFilterAttributes(IDictionary) |
Permite a um designer alterar ou remover itens do conjunto de atributos que expõe através de um TypeDescriptor. (Herdado de ComponentDesigner) |
| PostFilterEvents(IDictionary) |
Permite a um designer alterar ou remover itens do conjunto de eventos que expõe através de um TypeDescriptor. (Herdado de ComponentDesigner) |
| PostFilterProperties(IDictionary) |
Permite a um designer alterar ou remover itens do conjunto de propriedades que expõe através de um TypeDescriptor. (Herdado de ComponentDesigner) |
| PreFilterAttributes(IDictionary) |
Permite a um designer adicionar ao conjunto de atributos que expõe através de um TypeDescriptor. (Herdado de ComponentDesigner) |
| PreFilterEvents(IDictionary) |
Define a lista de eventos expostos no momento do design para o TypeDescriptor objeto do componente. (Herdado de HtmlControlDesigner) |
| PreFilterProperties(IDictionary) |
Adiciona propriedades ou remove propriedades da grelha de Propriedades num host de projeto no momento do projeto ou fornece novas propriedades em tempo de projeto que possam corresponder a propriedades no controlo associado. (Herdado de ControlDesigner) |
| RaiseComponentChanged(MemberDescriptor, Object, Object) |
Notifica que IComponentChangeService este componente foi alterado. (Herdado de ComponentDesigner) |
| RaiseComponentChanging(MemberDescriptor) |
Notifica que IComponentChangeService este componente está prestes a ser alterado. (Herdado de ComponentDesigner) |
| RaiseResizeEvent() |
Obsoleto.
Eleva o OnControlResize() evento. (Herdado de ControlDesigner) |
| RegisterClone(Object, Object) |
Regista dados internos num controlo clonado. (Herdado de ControlDesigner) |
| SetEditableDesignerRegionContent(EditableDesignerRegion, String) |
Especifica o conteúdo para uma região editável do controlo no momento do design. (Herdado de ControlDesigner) |
| SetRegionContent(EditableDesignerRegion, String) |
Especifica o conteúdo de uma região editável na vista de design time do controlo. (Herdado de ControlDesigner) |
| SetViewFlags(ViewFlags, Boolean) |
Atribui a enumeração bit ViewFlags a bit especificada ao valor da bandeira especificado. (Herdado de ControlDesigner) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| UpdateDesignTimeHtml() |
Atualiza a marcação HTML em tempo de design para o controlo associado do servidor Web chamando o GetDesignTimeHtml método. (Herdado de ControlDesigner) |