¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
FrameworkElement (Clase)
Collapse the table of content
Expand the table of content

FrameworkElement (Clase)

Actualización: Julio de 2008

Proporciona un conjunto de propiedades, eventos y métodos del marco WPF para los elementos de Windows Presentation Foundation (WPF). Esta clase representa la implementación del marco WPF que se proporciona, basada en la API del núcleo de WPF definido por UIElement.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

[RuntimeNamePropertyAttribute("Name")]
[StyleTypedPropertyAttribute(Property = "FocusVisualStyle", StyleTargetType = typeof(Control))]
[XmlLangPropertyAttribute("Language")]
public class FrameworkElement : UIElement, 
	IFrameworkInputElement, IInputElement, ISupportInitialize
/** @attribute RuntimeNamePropertyAttribute("Name") */
/** @attribute StyleTypedPropertyAttribute(Property = "FocusVisualStyle", StyleTargetType = Control) */
/** @attribute XmlLangPropertyAttribute("Language") */
public class FrameworkElement extends UIElement implements IFrameworkInputElement, 
	IInputElement, ISupportInitialize
public class FrameworkElement extends UIElement implements IFrameworkInputElement, IInputElement, ISupportInitialize
<FrameworkElement .../>

FrameworkElement es el punto de conexión entre las clases de elemento del marco WPF y conjunto del núcleo de WPF de servicios de presentación de UIElement. Para obtener más información sobre estos conceptos, vea Arquitectura de WPF.

FrameworkElement extiende UIElement y agrega las funciones siguientes:

  • Definición del sistema de diseñoFrameworkElement proporciona implementaciones concretas del marco WPF para ciertos métodos que se definieron como miembros virtuales en UIElement. Notablemente, FrameworkElement sella ciertas invalidaciones de diseño del núcleo de WPF y, en su lugar, proporciona un equivalente del marco WPF que las clases derivadas deben invalidar. Por ejemplo, FrameworkElement sella ArrangeCore pero proporciona ArrangeOverride. Estos cambios reflejan el hecho de que en el marco WPF hay un sistema de diseño completo vigente que puede representar cualquier clase derivada de FrameworkElement. En el núcleo de WPF, ciertos miembros que estructurarán una solución de diseño basada en WPF estarán vigentes, pero no se define el motor real del sistema de diseño. Para obtener más información, consulte Sistema de diseño.

  • El árbol lógico: el modelo de programación general de WPF se expresa a menudo en términos de árbol de elementos. Ofrece compatibilidad para expresar el árbol de elementos como un árbol lógico. La compatibilidad complementaria para definir ese árbol en el marcado se implementa en el nivel de FrameworkElement. Sin embargo, observe que FrameworkElement no define deliberadamente un modelo de contenido y deja esa responsabilidad a las clases derivadas. Para obtener más información, consulte Árboles en WPF.

  • Eventos de duración de objetos: a menudo es útil saber cuándo se inicializa un elemento (se llama al constructor) o cuándo se carga el elemento por primera vez en un árbol lógico. FrameworkElement define varios eventos relacionados con la duración de objetos que proporcionan enlaces útiles para las operaciones de código subyacente que afectan a los elementos, como agregar más elementos secundarios. Para obtener más información, consulte Eventos de duración de objetos.

  • Compatibilidad con el enlace de datos y las referencias de recursos dinámicos: la clase DependencyProperty implementa la compatibilidad del nivel de propiedad para el enlace de datos y los recursos, que está incorporada en el sistema de propiedades. No obstante, la capacidad de resolver un valor de miembro que está almacenado como Expression (la construcción de programación subyacente al enlace de datos y los recursos dinámicos) se implementa mediante FrameworkElement. Para obtener más información, vea Información general sobre el enlace de datos e Información general sobre recursos.

  • Estilos: FrameworkElement define la propiedad Style. Sin embargo, FrameworkElement no define todavía la compatibilidad con las plantillas, o con los decoradores. Las clases de controles como Control y ContentControlintroducen estas características.

  • Más compatibilidad con la animación: en el núcleo de WPF ya se definió cierta compatibilidad con la animación, pero FrameworkElement la extiende implementando BeginStoryboard y los miembros relacionados.

Como se puede ver en la jerarquía de clases, muchas clases de WPF se derivan de FrameworkElement, ya sea directamente o a través de clases base intermedias como Panel o Control.

Si va a usar FrameworkElement como clase base, quizá desee examinar primero las clases derivadas existentes. FrameworkElement proporciona compatibilidad para varios escenarios básicos, pero también carece de varias características que son deseables para un "elemento" en el sentido de un bloque de creación utilizado para crear la interfaz de usuario (UI) en Lenguaje de marcado de aplicaciones extensible (XAML). Por ejemplo, FrameworkElement no define ningún modelo de contenido verdadero; como clase base, FrameworkElement no define ninguna propiedad que pueda crear elementos secundarios XAML. En particular, quizá desee examinar Control y ContentControl.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Media.Visual
        System.Windows.UIElement
          System.Windows.FrameworkElement
            Microsoft.Windows.Themes.BulletChrome
            Microsoft.Windows.Themes.BulletChrome
            Microsoft.Windows.Themes.BulletChrome
            Microsoft.Windows.Themes.ScrollChrome
            Microsoft.Windows.Themes.ScrollChrome
            Microsoft.Windows.Themes.ScrollChrome
            System.Windows.Controls.AccessText
            System.Windows.Controls.AdornedElementPlaceholder
            System.Windows.Controls.ContentPresenter
            System.Windows.Controls.Control
            System.Windows.Controls.Decorator
            System.Windows.Controls.Image
            System.Windows.Controls.InkCanvas
            System.Windows.Controls.ItemsPresenter
            System.Windows.Controls.MediaElement
            System.Windows.Controls.Page
            System.Windows.Controls.Panel
            System.Windows.Controls.Primitives.DocumentPageView
            System.Windows.Controls.Primitives.GridViewRowPresenterBase
            System.Windows.Controls.Primitives.Popup
            System.Windows.Controls.Primitives.TickBar
            System.Windows.Controls.Primitives.Track
            System.Windows.Controls.TextBlock
            System.Windows.Controls.ToolBarTray
            System.Windows.Controls.Viewport3D
            System.Windows.Documents.Adorner
            System.Windows.Documents.AdornerLayer
            System.Windows.Documents.DocumentReference
            System.Windows.Documents.FixedPage
            System.Windows.Documents.Glyphs
            System.Windows.Documents.PageContent
            System.Windows.Interop.HwndHost
            System.Windows.Shapes.Shape

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

Fecha

Historial

Motivo

Julio de 2008

Se han agregado nuevos miembros: la propiedad BindingGroup y el campo BindingGroupProperty.

Cambio de características de SP1.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft