Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Enumeración ViewTechnology

 

Publicado: octubre de 2016

Define los identificadores para un conjunto de tecnologías que admiten el host del diseñador.

Espacio de nombres:   System.ComponentModel.Design
Ensamblado:  System (en System.dll)

[ComVisibleAttribute(true)]
public enum ViewTechnology

Nombre de miembroDescripción
Default

Especifica la compatibilidad con la tecnología de vista predeterminado.

Passthrough

Obsoleto. Representa un modo en que el objeto de vista se pasa directamente al entorno de desarrollo.

WindowsForms

Obsoleto. Representa un modo en el que un objeto de control de formularios Windows Forms proporciona la presentación para el diseñador raíz.

El modelo de adaptador de vista reemplaza y agrega funcionalidad a la ViewTechnology característica; sin embargo, la ViewTechnology característica se conserva para compatibilidad con versiones anteriores y uso futuro, si elige. Para obtener más información, vea ".NET Shape Library: A Sample Designer" en Windows Forms Knowledge Base en http://windowsforms.net/articles/shapedesigner.aspx.

ViewTechnology define los identificadores que pueden indicar el modo que se utilizará para controlar la presentación de un documento hospedado en el diseñador.

Sólo debe usar la Default valor en su entorno de hospedaje de diseñador. En versiones anteriores de la .NET Framework, el ViewTechnology enumeración especifica el tipo de modelo de interfaz de usuario admitido por un diseñador raíz. Dado que este modelo no es extensible, debe usar un adaptador de vista modelo. Un adaptador de vista es un tipo que se adapta a un objeto de un tipo a otro.

Por ejemplo, un diseñador HTML podría devolver un DemoDOM árbol como su vista. El Diseñador HTML devuelve la tecnología de vista Default. Un entorno de hospedaje de Windows Forms tendría una o más adaptadores clases de vistas disponibles. Si una clase de este tipo se puede convertir el DemoDOM en un control de formularios Windows Forms, la aplicación host puede admitir este tipo de diseñador. Si ningún adaptador puede controlar el tipo de datos devuelto desde el diseñador GetView método, se producirá un error en la carga del diseñador y el usuario le presentará un error.

Visual Studio tiene un esquema extensible para proporcionar adaptadores de vista, por lo que puede adaptarse a cualquier tecnología de interfaz de usuario. Proveedores de tecnología de terceros también pueden ofrecer un adaptador de vista adecuado, y sus modelos de objetos puedan consumirse inmediatamente.

Para obtener un ejemplo que utiliza adaptadores de vista, vea ".NET Shape Library: A Sample Designer" en Windows Forms Knowledge Base en http://windowsforms.net/articles/shapedesigner.aspx.

En el ejemplo de código siguiente se muestra cómo utilizar el ViewTechnology clase en un diseñador. Este ejemplo de código forma parte de un ejemplo más extenso de la IRootDesigner interfaz.

using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace SampleRootDesigner
{	
    // This sample demonstrates how to provide the root designer view, or
    // design mode background view, by overriding IRootDesigner.GetView().

    // This sample component inherits from RootDesignedComponent which 
    // uses the SampleRootDesigner.
    public class RootViewSampleComponent : RootDesignedComponent
    {
        public RootViewSampleComponent()
        {
        }
    }

    // The following attribute associates the SampleRootDesigner designer 
    // with the SampleComponent component.
    [Designer(typeof(SampleRootDesigner), typeof(IRootDesigner))]
    public class RootDesignedComponent : Component
    {
        public RootDesignedComponent()
        {
        }
    }

    public class SampleRootDesigner : ComponentDesigner, IRootDesigner
    {
        // Member field of custom type RootDesignerView, a control that 
        // will be shown in the Forms designer view. This member is 
        // cached to reduce processing needed to recreate the 
        // view control on each call to GetView().
        private RootDesignerView m_view;			

        // This method returns an instance of the view for this root
        // designer. The "view" is the user interface that is presented
        // in a document window for the user to manipulate. 
        object IRootDesigner.GetView(ViewTechnology technology) 
        {
            if (technology != ViewTechnology.Default)
            {
                throw new ArgumentException("Not a supported view technology", "technology");
            }
            if (m_view == null)
            {
                   // Some type of displayable Form or control is required 
                   // for a root designer that overrides GetView(). In this 
                   // example, a Control of type RootDesignerView is used.
                   // Any class that inherits from Control will work.
                m_view = new RootDesignerView(this);
            }
            return m_view;
        }

        // IRootDesigner.SupportedTechnologies is a required override for an
        // IRootDesigner. Default is the view technology used by this designer.  
        ViewTechnology[] IRootDesigner.SupportedTechnologies 
        {
            get
            {
                return new ViewTechnology[] {ViewTechnology.Default};
            }
        }

        // RootDesignerView is a simple control that will be displayed 
        // in the designer window.
        private class RootDesignerView : Control 
        {
            private SampleRootDesigner m_designer;

            public RootDesignerView(SampleRootDesigner designer)
            {
                m_designer = designer;
                BackColor = Color.Blue;
                Font = new Font(Font.FontFamily.Name, 24.0f);
            }

            protected override void OnPaint(PaintEventArgs pe)
            {
                base.OnPaint(pe);

                // Draws the name of the component in large letters.
                pe.Graphics.DrawString(m_designer.Component.Site.Name, Font, Brushes.Yellow, ClientRectangle);
            }
        }		
    }
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: