WebPartDesigner Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece suporte visual em tempo de design para WebPart controles.
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 exemplo de código a seguir mostra a interação entre um WebPart controle e seu associado WebPartDesigner. O WebPart controle contém um Calendar controle do qual o usuário final seleciona seu aniversário, um Button controle para enviar a seleção e um Label controle para exibir uma mensagem no aniversário do usuário. O WebPartDesigner verifica se o controle associado é do tipo esperado e, em seguida, personaliza a renderização em tempo de design do controle dito. Observe que as personalizações visuais do designer são visíveis somente no momento do design, enquanto as do controle associado ficam visíveis no tempo de execução e no tempo de design.
Todos os métodos substituídos neste exemplo derivam da ControlDesigner classe base. Para outros membros disponíveis e seu uso, consulte 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
Comentários
A WebPartDesigner classe fornece a representação visual para WebPart controles em tempo de design. Ele é derivado da PartDesigner classe e adiciona validação para verificar se o controle associado é um WebPart controle ou tipo derivado.
WebPartDesigner herda uma UsePreviewControl propriedade de seu pai que é sempre definida como true. Isso faz com que o ambiente de design visual gere um View controle para manter uma cópia temporária da superfície de WebPart design; essa cópia é então mantida na marcação. Se você substituir a UsePreviewControl propriedade a ser retornada false, o ambiente de design visual gerará marcação diretamente do controle real WebPart .
Os designers de Web Parts geralmente agem muito como designers de controle regulares; os métodos principais para definir a aparência em tempo de design derivam da ControlDesigner classe. Especificamente, você pode substituir o GetDesignTimeHtml método para alterar a marcação de tempo de design associada ao controle. Você também pode substituir os métodos e GetEmptyDesignTimeHtml os GetErrorDesignTimeHtml métodos para lidar com erros e cadeias de caracteres vazias (""), respectivamente.
Construtores
| Nome | Description |
|---|---|
| WebPartDesigner() |
Inicializa uma nova instância da classe WebPartDesigner. |
Propriedades
| Nome | Description |
|---|---|
| ActionLists |
Obtém a coleção de lista de ações do designer de controle. (Herdado de ControlDesigner) |
| AllowResize |
Obtém um valor que indica se o controle pode ser redimensionado no ambiente de tempo de design. (Herdado de ControlDesigner) |
| AssociatedComponents |
Obtém a coleção de componentes associados ao componente gerenciado pelo designer. (Herdado de ComponentDesigner) |
| AutoFormats |
Obtém a coleção de esquemas de formatação automática predefinidos a serem exibidos na caixa de diálogo Formato Automático para o controle associado em tempo de design. (Herdado de ControlDesigner) |
| Behavior |
Obsoleto.
Obtém ou define o comportamento DHTML associado ao designer. (Herdado de HtmlControlDesigner) |
| Component |
Obtém o componente que este designer está projetando. (Herdado de ComponentDesigner) |
| DataBindings |
Obtém a coleção de associações de dados para o controle atual. (Herdado de HtmlControlDesigner) |
| DataBindingsEnabled |
Obtém um valor que indica se a associação de dados tem suporte pela região que contém o controle associado. (Herdado de ControlDesigner) |
| DesignerState |
Obtém um objeto usado para persistir dados para o controle associado em tempo de design. (Herdado de ControlDesigner) |
| DesignTimeElement |
Obsoleto.
Obtém o objeto de tempo de design que representa o controle associado ao HtmlControlDesigner objeto na superfície de design. (Herdado de HtmlControlDesigner) |
| DesignTimeElementView |
Obsoleto.
Obtém o objeto de controle de exibição para o designer de controle. (Herdado de ControlDesigner) |
| DesignTimeHtmlRequiresLoadComplete |
Obsoleto.
Obtém um valor que indica se o host de design deve concluir o carregamento antes que o GetDesignTimeHtml método possa ser chamado. (Herdado de ControlDesigner) |
| Expressions |
Obtém as associações de expressão para o controle atual em tempo de design. (Herdado de HtmlControlDesigner) |
| HidePropertiesInTemplateMode |
Obtém um valor que indica se as propriedades do controle associado estão ocultas quando o controle está no modo de modelo. (Herdado de ControlDesigner) |
| ID |
Obtém ou define a cadeia de caracteres de ID para o controle. (Herdado de ControlDesigner) |
| InheritanceAttribute |
Obtém um atributo que indica o tipo de herança do componente associado. (Herdado de ComponentDesigner) |
| Inherited |
Obtém um valor que indica se esse componente é herdado. (Herdado de ComponentDesigner) |
| InTemplateMode |
Obtém um valor que indica se o controle está no modo de exibição ou edição de modelo no host de design. A InTemplateMode propriedade é somente leitura. (Herdado de ControlDesigner) |
| IsDirty |
Obsoleto.
Obtém ou define um valor que indica se o controle do servidor Web foi marcado como alterado. (Herdado de ControlDesigner) |
| ParentComponent |
Obtém o componente pai deste designer. (Herdado de ComponentDesigner) |
| ReadOnly |
Obsoleto.
Obtém ou define um valor que indica se as propriedades do controle são somente leitura no tempo de design. (Herdado de ControlDesigner) |
| RootDesigner |
Obtém o designer de controle da página Web Forms que contém o controle associado. (Herdado de ControlDesigner) |
| ShadowProperties |
Obtém uma coleção de valores de propriedade que substituem as configurações do usuário. (Herdado de ComponentDesigner) |
| ShouldCodeSerialize |
Obsoleto.
Obtém ou define um valor que indica se uma declaração de campo deve ser criada para o controle no arquivo 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 controle associado. (Herdado de ControlDesigner) |
| TemplateGroups |
Obtém uma coleção de grupos de modelos, cada um contendo uma ou mais definições de modelo. (Herdado de ControlDesigner) |
| UsePreviewControl |
Obtém um valor que indica se o designer deve usar uma cópia temporária em vez do controle real associado ao designer para gerar a marcação de tempo de design. (Herdado de PartDesigner) |
| Verbs |
Obtém os verbos de tempo de design compatíveis com o componente associado ao designer. (Herdado de ComponentDesigner) |
| ViewControl |
Obtém ou define um controle de servidor Web que pode ser usado para visualizar a marcação HTML em tempo de design. (Herdado de ControlDesigner) |
| ViewControlCreated |
Obtém ou define um valor que indica se um |
| Visible |
Obtém um valor que indica se o controle está visível no momento do design. (Herdado de ControlDesigner) |
Métodos
| Nome | Description |
|---|---|
| CreateChildControls() |
Cria os controles filho desse CompositeControl controle. (Herdado de CompositeControlDesigner) |
| CreateErrorDesignTimeHtml(String, Exception) |
Cria a marcação HTML para exibir uma mensagem de erro de exceção especificada em tempo de design. (Herdado de ControlDesigner) |
| CreateErrorDesignTimeHtml(String) |
Cria a marcação HTML para exibir uma mensagem de erro especificada em tempo de design. (Herdado de ControlDesigner) |
| CreatePlaceHolderDesignTimeHtml() |
Fornece uma representação simples de espaço reservado retangular que exibe o tipo e a ID do controle. (Herdado de ControlDesigner) |
| CreatePlaceHolderDesignTimeHtml(String) |
Fornece uma representação simples de espaço reservado retangular que exibe o tipo e a ID do controle e também instruções ou informações especificadas adicionais. (Herdado de ControlDesigner) |
| CreateViewControl() |
Retorna uma cópia do controle associado para exibição ou renderização na superfície de design. (Herdado de ControlDesigner) |
| Dispose() |
Libera todos os recursos usados pelo ComponentDesigner. (Herdado de ComponentDesigner) |
| Dispose(Boolean) |
Libera os recursos não gerenciados que são usados pelo HtmlControlDesigner objeto e, opcionalmente, libera os recursos gerenciados. (Herdado de HtmlControlDesigner) |
| DoDefaultAction() |
Cria uma assinatura de método no arquivo de código-fonte para o evento padrão no componente e navega o cursor do usuário para esse local. (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 representa os limites do controle, conforme exibido na superfície de design. (Herdado de ControlDesigner) |
| GetDesignTimeHtml() |
Obtém o HTML usado para representar o controle em tempo de design. (Herdado de CompositeControlDesigner) |
| GetDesignTimeHtml(DesignerRegionCollection) |
Recupera a marcação HTML para exibir o controle e preenche a coleção com as regiões atuais do designer de controle. (Herdado de ControlDesigner) |
| GetEditableDesignerRegionContent(EditableDesignerRegion) |
Retorna o conteúdo de uma região editável da exibição de tempo de design do controle associado. (Herdado de ControlDesigner) |
| GetEmptyDesignTimeHtml() |
Recupera a marcação HTML para representar um controle 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 a função de hash padrão. (Herdado de Object) |
| GetPersistenceContent() |
Recupera a marcação HTML interna persistente do controle em tempo de design. (Herdado de ControlDesigner) |
| GetPersistInnerHtml() |
Obsoleto.
Recupera a marcação HTML interna persistente do controle. (Herdado de ControlDesigner) |
| GetService(Type) |
Tenta recuperar o tipo de serviço especificado do site de modo de design do componente do designer. (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 de tempo de design para o conteúdo e as regiões do controle associado. (Herdado de ControlDesigner) |
| Initialize(IComponent) |
Associa o designer a um controle e valida que o controle é um WebPart controle. |
| 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 configurações de um componente importado que já está inicializado em configurações diferentes dos padrões. (Herdado de ComponentDesigner) |
| Invalidate() |
Invalida toda a área do controle exibida na superfície de design e sinaliza o designer de controle para redesenhar o controle. (Herdado de ControlDesigner) |
| Invalidate(Rectangle) |
Invalida a área especificada do controle que é exibida na superfície de design e sinaliza o designer de controle para redesenhar o controle. (Herdado de ControlDesigner) |
| InvokeGetInheritanceAttribute(ComponentDesigner) |
Obtém o InheritanceAttribute da especificada ComponentDesigner. (Herdado de ComponentDesigner) |
| IsPropertyBound(String) |
Obsoleto.
Recupera um valor que indica se a propriedade especificada no controle associado está associada a dados. (Herdado de ControlDesigner) |
| Localize(IDesignTimeResourceWriter) |
Usa o gravador de recursos fornecido para manter as propriedades localizáveis do controle associado a um recurso no host de design. (Herdado de ControlDesigner) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| OnAutoFormatApplied(DesignerAutoFormat) |
Chamado quando um esquema de formatação automática predefinido foi aplicado ao controle associado. (Herdado de ControlDesigner) |
| OnBehaviorDetaching() |
Obsoleto.
Chamado quando um comportamento desassocia do elemento. (Herdado de HtmlControlDesigner) |
| OnBindingsCollectionChanged(String) |
Obsoleto.
Chamado quando a coleção de associação de dados é alterada. (Herdado de ControlDesigner) |
| OnClick(DesignerRegionMouseEventArgs) |
Chamado pelo host de design quando o usuário clica no controle associado em tempo de design. (Herdado de ControlDesigner) |
| OnComponentChanged(Object, ComponentChangedEventArgs) |
Chamado quando o controle associado é alterado. (Herdado de ControlDesigner) |
| OnComponentChanging(Object, ComponentChangingEventArgs) |
Representa o método que manipulará o ComponentChanging evento para o controle associado. (Herdado de ControlDesigner) |
| OnControlResize() |
Obsoleto.
Chamado quando o controle de servidor Web associado foi redimensionado no host de design em tempo de design. (Herdado de ControlDesigner) |
| OnPaint(PaintEventArgs) |
Chamado quando o designer de controle desenha o controle associado na superfície de design, se o CustomPaint valor for |
| OnSetComponentDefaults() |
Obsoleto.
Obsoleto.
Define as propriedades padrão do componente. (Herdado de ComponentDesigner) |
| OnSetParent() |
Fornece uma maneira de executar processamento adicional quando o controle associado é anexado a um controle pai. (Herdado de HtmlControlDesigner) |
| PostFilterAttributes(IDictionary) |
Permite que um designer altere ou remova itens do conjunto de atributos que ele expõe por meio de um TypeDescriptor. (Herdado de ComponentDesigner) |
| PostFilterEvents(IDictionary) |
Permite que um designer altere ou remova itens do conjunto de eventos que ele expõe por meio de um TypeDescriptor. (Herdado de ComponentDesigner) |
| PostFilterProperties(IDictionary) |
Permite que um designer altere ou remova itens do conjunto de propriedades que ele expõe por meio de um TypeDescriptor. (Herdado de ComponentDesigner) |
| PreFilterAttributes(IDictionary) |
Permite que um designer adicione ao conjunto de atributos que ele expõe por meio de um TypeDescriptor. (Herdado de ComponentDesigner) |
| PreFilterEvents(IDictionary) |
Define a lista de eventos expostos em tempo de design para o TypeDescriptor objeto do componente. (Herdado de HtmlControlDesigner) |
| PreFilterProperties(IDictionary) |
Adiciona ou remove propriedades da grade Propriedades em um host de design em tempo de design ou fornece novas propriedades de tempo de design que podem corresponder às propriedades no controle associado. (Herdado de ControlDesigner) |
| RaiseComponentChanged(MemberDescriptor, Object, Object) |
Notifica que IComponentChangeService esse componente foi alterado. (Herdado de ComponentDesigner) |
| RaiseComponentChanging(MemberDescriptor) |
Notifica que IComponentChangeService esse componente está prestes a ser alterado. (Herdado de ComponentDesigner) |
| RaiseResizeEvent() |
Obsoleto.
Aciona o evento OnControlResize(). (Herdado de ControlDesigner) |
| RegisterClone(Object, Object) |
Registra dados internos em um controle clonado. (Herdado de ControlDesigner) |
| SetEditableDesignerRegionContent(EditableDesignerRegion, String) |
Especifica o conteúdo de uma região editável do controle em tempo de design. (Herdado de ControlDesigner) |
| SetRegionContent(EditableDesignerRegion, String) |
Especifica o conteúdo de uma região editável no modo de exibição de tempo de design do controle. (Herdado de ControlDesigner) |
| SetViewFlags(ViewFlags, Boolean) |
Atribui a enumeração bit a ViewFlags bit especificada ao valor do sinalizador especificado. (Herdado de ControlDesigner) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| UpdateDesignTimeHtml() |
Atualiza a marcação HTML em tempo de design para o controle de servidor Web associado chamando o GetDesignTimeHtml método. (Herdado de ControlDesigner) |