Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las tecnologías de Windows Forms y WPF tienen dos modelos de propiedades similares pero diferentes. La asignación de propiedades admite la interoperación entre las dos arquitecturas y proporciona las siguientes funcionalidades:
Facilita la asignación de cambios de propiedad relevantes en el entorno host al control o elemento hospedado.
Proporciona control predeterminado para asignar las propiedades más usadas.
Permite una eliminación sencilla, invalidación o ampliación de propiedades predeterminadas.
Garantiza que los cambios de valor de propiedad en el host se detecten y traduzcan automáticamente al control o elemento hospedado.
Nota:
Los eventos de cambio de propiedad no se propagan al control de hospedaje o a la jerarquía de elementos. La traducción de propiedades no se realiza si el valor local de una propiedad no cambia debido a la configuración directa, los estilos, la herencia, el enlace de datos u otros mecanismos que cambian el valor de la propiedad.
Utilice la propiedad PropertyMap en el elemento WindowsFormsHost y la propiedad PropertyMap en el control ElementHost para tener acceso a la asignación de propiedades.
Asignación de propiedades con el elemento WindowsFormsHost
El WindowsFormsHost elemento traduce las propiedades predeterminadas de WPF a sus equivalentes de Windows Forms mediante la siguiente tabla de traducción.
Hospedaje de Windows Presentation Foundation | Windows Forms | Comportamiento de interoperación |
---|---|---|
Background (System.Windows.Media.Brush) |
BackColor (System.Drawing.Color) |
El WindowsFormsHost elemento establece la BackColor propiedad del control hospedado y la BackgroundImage propiedad del control hospedado. El mapeo se realiza mediante las siguientes reglas: - Si Background es un color sólido, se convierte y se usa para establecer la BackColor propiedad del control hospedado. La propiedad BackColor no se establece en el control hospedado, ya que este puede heredar el valor de la propiedad BackColor. Nota: El control hospedado no admite la transparencia. Cualquier color asignado a BackColor debe ser totalmente opaco, con un valor alfa de 0xFF. - Si Background no es un color sólido, el WindowsFormsHost control crea un mapa de bits a partir de la Background propiedad . El WindowsFormsHost control asigna este mapa de bits a la BackgroundImage propiedad del control hospedado. Esto proporciona un efecto similar a la transparencia. Nota: Puede invalidar este comportamiento o quitar la asignación de propiedades Background . |
Cursor | Cursor | Si no se ha reasignado la asignación predeterminada, WindowsFormsHost el control recorre su jerarquía antecesora hasta que encuentre un antecesor con su Cursor conjunto de propiedades. Este valor se traduce al cursor de Windows Forms más cercano. Si no se ha reasignado la asignación predeterminada de la ForceCursor propiedad, el recorrido se detiene en el primer antecesor con ForceCursor establecido en true . |
FlowDirection (System.Windows.FlowDirection) |
RightToLeft (System.Windows.Forms.RightToLeft) |
LeftToRight se asigna a No. RightToLeft se asigna a Yes. Inherit no está asignado. FlowDirection.RightToLeft se asigna a RightToLeft.Yes. |
FontStyle | Style en el control alojado System.Drawing.Font | El conjunto de propiedades de WPF se traduce en un objeto correspondiente Font. Cuando cambia una de estas propiedades, se crea un nuevo Font . Para Normal: Italic está deshabilitado. Para Italic o Oblique: Italic está habilitado. |
FontWeight | Style en el control alojado System.Drawing.Font | El conjunto de propiedades de WPF se traduce en un objeto correspondiente Font. Cuando cambia una de estas propiedades, se crea un nuevo Font . Para Black, , Bold, DemiBold, ExtraBoldHeavy, Medium, o SemiBoldUltraBold: Bold está habilitado. Para ExtraLight, Light, Normal, Regular, Thin, o UltraLight: Bold está deshabilitado. |
FontFamily FontSize FontStretch FontStyle FontWeight |
Font (System.Drawing.Font) |
El conjunto de propiedades de WPF se traduce en un objeto correspondiente Font. Cuando cambia una de estas propiedades, se crea un nuevo Font . El control hospedado de Windows Forms cambia el tamaño en función del tamaño de fuente. El tamaño de fuente en WPF se expresa como un noventa y sexto de pulgada, y en Windows Forms como un setenta y segundo de pulgada. La conversión correspondiente es: Tamaño de fuente de Windows Forms = tamaño de fuente de WPF * 72.0 / 96.0. |
Foreground (System.Windows.Media.Brush) |
ForeColor (System.Drawing.Color) |
La Foreground asignación de propiedades se realiza mediante las siguientes reglas: - Si Foreground es un SolidColorBrush, use Color para ForeColor. - Si Foreground es un GradientBrush, usa el color del GradientStop con el valor de desplazamiento más bajo para ForeColor. - Para cualquier otro Brush tipo, deje ForeColor sin cambios. Esto significa que se usa el valor predeterminado. |
IsEnabled | Enabled | Cuando se establece IsEnabled, el elemento WindowsFormsHost establece la propiedad Enabled en el control hospedado. |
Padding | Padding | Los cuatro valores de la Padding propiedad del control hospedado de Windows Forms se establecen en el mismo Thickness valor. - Los valores mayores que MaxValue se establecen en MaxValue. - Los valores menores que MinValue se establecen en MinValue. |
Visibility | Visible |
-
Visible se asigna a Visible = true . El control alojado de Windows Forms está visible. No se recomienda establecer explícitamente la propiedad Visible en el control hospedado a false .- Collapsed se asigna a Visible = true o false . El control hospedado de Windows Forms no se dibuja y su área se reduce.- Hidden : el control hospedado de Windows Forms ocupa espacio en el diseño, pero no está visible. En este caso, la Visible propiedad está definida como true . No se recomienda establecer explícitamente la propiedad Visible en el control hospedado a false . |
El elemento WindowsFormsHost admite completamente las propiedades adjuntas en los elementos contenedores.
Para obtener más información, vea Tutorial: Asignación de propiedades mediante el elemento WindowsFormsHost.
Actualizaciones de las propiedades primarias
Los cambios en la mayoría de las propiedades del padre envían notificaciones al control secundario hospedado. En la lista siguiente se describen las propiedades que no provocan notificaciones cuando cambian sus valores.
Por ejemplo, si cambia el valor de la Background propiedad del WindowsFormsHost elemento , la BackColor propiedad del control hospedado no cambia.
Mapeo de propiedades con el control ElementHost
Las siguientes propiedades proporcionan una notificación de cambio integrada. No llame al método OnPropertyChanged cuando mapee estas propiedades.
Tamaño automático
ColorDeFondo
Imagen de Fondo
BackgroundImageLayout
Contexto de Vinculación
CausasDeValidación
Menú de contexto
ContextMenuStrip
Puntero
Dársena
Activado
Fuente
ForeColor
Ubicación
Margen
Relleno
Padre
Región
RightToLeft
Tamaño
TabIndex
Tabstop
Mensaje de texto
Visible
El ElementHost control traduce las propiedades predeterminadas de Windows Forms a sus equivalentes de WPF mediante la siguiente tabla de traducción.
Para obtener más información, vea Tutorial: Asignación de propiedades mediante el control ElementHost.
Hospedaje de Formularios Windows Forms | Windows Presentation Foundation | Comportamiento de interoperación |
---|---|---|
BackColor (System.Drawing.Color) |
Background (System.Windows.Media.Brush) en el elemento hospedado |
Al establecer esta propiedad, se fuerza un reintentos con .ImageBrush Si la BackColorTransparent propiedad se establece en false (el valor predeterminado), esto ImageBrush se basa en la apariencia del ElementHost control, incluidas sus BackColor, BackgroundImage, BackgroundImageLayout propiedades y cualquier manejador de dibujo adjunto.Si la propiedad BackColorTransparent se establece en true , la apariencia del control ImageBrush se basa en la del control primario, incluidas sus propiedades ElementHost, BackColor, BackgroundImage y los controladores de pintura adjuntos. |
BackgroundImage (System.Drawing.Image) |
Background (System.Windows.Media.Brush) en el elemento hospedado |
Establecer esta propiedad provoca el mismo comportamiento descrito para el BackColor mapeo. |
BackgroundImageLayout | Background (System.Windows.Media.Brush) en el elemento hospedado |
Establecer esta propiedad provoca el mismo comportamiento descrito para el BackColor mapeo. |
Cursor (System.Windows.Forms.Cursor) |
Cursor (System.Windows.Input.Cursor) |
El cursor estándar de Windows Forms se traduce al cursor estándar de WPF correspondiente. Si Windows Forms no es un cursor estándar, se asigna el valor predeterminado. |
Enabled | IsEnabled | Cuando Enabled se establece, el control ElementHost establece la propiedad IsEnabled en el elemento hospedado. |
Font (System.Drawing.Font) |
FontFamily FontSize FontStretch FontStyle FontWeight |
El Font valor se traduce en un conjunto correspondiente de propiedades de fuente de WPF. |
Bold | FontWeight en el elemento hospedado | Si Bold es true , FontWeight se establece en Bold.Si Bold es false , FontWeight se establece en Normal. |
Italic | FontStyle en el elemento hospedado | Si Italic es true , FontStyle se establece en Italic.Si Italic es false , FontStyle se establece en Normal. |
Strikeout | TextDecorations en el elemento hospedado | Solo se aplica al hospedar un TextBlock control. |
Underline | TextDecorations en el elemento hospedado | Solo se aplica al hospedar un TextBlock control. |
RightToLeft (System.Windows.Forms.RightToLeft) |
FlowDirection (FlowDirection) |
No se asigna a LeftToRight. Yes se asigna a RightToLeft. |
Visible | Visibility | El ElementHost control establece la Visibility propiedad en el elemento hospedado mediante las siguientes reglas: - Visible = true se asigna a Visible.- Visible = false se asigna a Hidden. |
Consulte también
.NET Desktop feedback