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 de visual no tempo de design para controles WebPart.
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 apenas em tempo de design, enquanto as do controle associado são 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 do na superfície de WebPart design; essa cópia é então mantida na marcação. Se você substituir a UsePreviewControl propriedade para retornar 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 GetErrorDesignTimeHtml métodos e GetEmptyDesignTimeHtml para lidar com erros e cadeias de caracteres vazias (""), respectivamente.
Construtores
WebPartDesigner() |
Inicializa uma nova instância da classe WebPartDesigner. |
Propriedades
ActionLists |
Obtém a coleção de listas de ação 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áticos predefinidos para exibir na caixa de diálogo Autoformatação do controle associado no 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 deste designer está criando. (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 da região que contém o controle associado. (Herdado de ControlDesigner) |
DesignerState |
Obtém um objeto usado para persistir os dados do controle associado em tempo de design. (Herdado de ControlDesigner) |
DesignTimeElement |
Obsoleto.
Obtém o objeto em tempo de design que representa o controle associado ao objeto HtmlControlDesigner na superfície de design. (Herdado de HtmlControlDesigner) |
DesignTimeElementView |
Obsoleto.
Obtém o objeto de controle de exibição do designer de controle. (Herdado de ControlDesigner) |
DesignTimeHtmlRequiresLoadComplete |
Obsoleto.
Obtém um valor que indica se o host de design deve concluir o carregamento antes do método GetDesignTimeHtml poder 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 são ocultadas quando o controle está no modo de modelo. (Herdado de ControlDesigner) |
ID |
Obtém ou define a cadeia de caracteres da ID do 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 este componente é herdado. (Herdado de ComponentDesigner) |
InTemplateMode |
Obtém um valor que indica se o controle está em exibição de modelo ou em modo de edição no host de design. A propriedade InTemplateMode é somente leitura. (Herdado de ControlDesigner) |
IsDirty |
Obsoleto.
Obtém ou define um valor que indica se o controle de servidor Web foi marcado como alterado. (Herdado de ControlDesigner) |
ParentComponent |
Obtém o componente pai para este designer. (Herdado de ComponentDesigner) |
ReadOnly |
Obsoleto.
Obtém ou define um valor que indica se as propriedades do controle são somente leitura em 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) |
SetTextualDefaultProperty |
Fornece suporte de visual no tempo de design para controles WebPart. (Herdado de ComponentDesigner) |
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 é necessário criar uma declaração de campo para o controle no arquivo code-behind para o documento de design atual durante a serialização. (Herdado de HtmlControlDesigner) |
Tag |
Obtém um objeto que representa o elemento de marcação HTML do controle associado. (Herdado de ControlDesigner) |
TemplateGroups |
Obtém uma coleção de grupos de modelos, cada uma 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 com suporte pelo 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 de tempo de design. (Herdado de ControlDesigner) |
ViewControlCreated |
Obtém ou define um valor que indica se um controle |
Visible |
Obtém um valor que indica se o controle está visível em tempo de design. (Herdado de ControlDesigner) |
Métodos
CreateChildControls() |
Cria os controles filho deste controle CompositeControl. (Herdado de CompositeControlDesigner) |
CreateErrorDesignTimeHtml(String) |
Cria uma marcação HTML para exibir uma mensagem de erro especificada em tempo de design. (Herdado de ControlDesigner) |
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) |
CreatePlaceHolderDesignTimeHtml() |
Fornece uma representação de espaço reservado retangular simples que exibe o tipo e a ID do controle. (Herdado de ControlDesigner) |
CreatePlaceHolderDesignTimeHtml(String) |
Fornece uma representação de espaço reservado retangular simples que exibe o tipo e a ID do controle, bem como outras instruções ou informações especificadas. (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 usados pelo objeto HtmlControlDesigner e libera opcionalmente os recursos gerados. (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 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 representa os limites do controle como 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 de designer de controle atuais. (Herdado de ControlDesigner) |
GetEditableDesignerRegionContent(EditableDesignerRegion) |
Retorna o conteúdo de uma região editável do modo de 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á uma 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 no 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 do conteúdo e das regiões do controle associado. (Herdado de ControlDesigner) |
Initialize(IComponent) |
Associa o designer a um controle e valida que o controle é um controle WebPart. |
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á foi inicializado para as configurações que não sejam os padrões. (Herdado de ComponentDesigner) |
Invalidate() |
Invalida toda a área do controle que é exibida na superfície de design e envia um sinal para o designer de controle redesenhar o controle. (Herdado de ControlDesigner) |
Invalidate(Rectangle) |
Invalida a área especificada do controle que é exibida na superfície de design e envia um sinal para o designer de controle redesenhar o controle. (Herdado de ControlDesigner) |
InvokeGetInheritanceAttribute(ComponentDesigner) |
Obtém o InheritanceAttribute do ComponentDesigner especificado. (Herdado de ComponentDesigner) |
IsPropertyBound(String) |
Obsoleto.
Recupera um valor que indica se a propriedade especificada no controle associado é associada a dados. (Herdado de ControlDesigner) |
Localize(IDesignTimeResourceWriter) |
Usa o gravador de recurso fornecido para persistir as propriedades localizáveis do controle associado para um recurso no host de design. (Herdado de ControlDesigner) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
OnAutoFormatApplied(DesignerAutoFormat) |
Chamado quando um esquema de formatação automática predefinido é aplicado ao controle associado. (Herdado de ControlDesigner) |
OnBehaviorAttached() |
Chamado quando o designer de controle está anexado a um objeto Behavior. (Herdado de ControlDesigner) |
OnBehaviorDetaching() |
Obsoleto.
Chamado quando um comportamento é desassociado 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 há uma alteração no controle associado. (Herdado de ControlDesigner) |
OnComponentChanging(Object, ComponentChangingEventArgs) |
Representa o método que manipulará o evento ComponentChanging de um controle associado. (Herdado de ControlDesigner) |
OnControlResize() |
Obsoleto.
Chamado quando o controle de servidor Web associado é 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 valor CustomPaint for |
OnSetComponentDefaults() |
Obsoleto.
Obsoleto.
Define as propriedades padrão do componente. (Herdado de ComponentDesigner) |
OnSetParent() |
Fornece uma maneira de realizar 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 um designer seja adicionado ao conjunto de atributos que ele expõe por meio de um TypeDescriptor. (Herdado de ComponentDesigner) |
PreFilterEvents(IDictionary) |
Define a lista de eventos que são expostos em tempo de design para o objeto TypeDescriptor para o componente. (Herdado de HtmlControlDesigner) |
PreFilterProperties(IDictionary) |
Adiciona ou remove propriedades da grade de Propriedades em um host de design em tempo de design ou fornece novas propriedades de tempo de design que podem corresponder às propriedades do controle associado. (Herdado de ControlDesigner) |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Notifica o IComponentChangeService de que este componente foi alterado. (Herdado de ComponentDesigner) |
RaiseComponentChanging(MemberDescriptor) |
Notifica o IComponentChangeService de que este componente está prestes a ser alterado. (Herdado de ComponentDesigner) |
RaiseResizeEvent() |
Obsoleto.
Aciona o evento OnControlResize(). (Herdado de ControlDesigner) |
RegisterClone(Object, Object) |
Registra os 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 na exibição de tempo de design do controle. (Herdado de ControlDesigner) |
SetViewFlags(ViewFlags, Boolean) |
Atribui a enumeração ViewFlags bit a bit especificada ao valor de 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 de tempo de design do controle de servidor Web associado ao chamar o método GetDesignTimeHtml. (Herdado de ControlDesigner) |