Table of contents
ALM
TOC
Collapse the table of content
Expand the table of content

Cómo obtener un manejador (handle) para una ventana de WPF

Microsoft Community Publishing Service|Última actualización: 26/05/2017
|
2 Colaboradores

Juan Carlos Ruiz

Por Juan Carlos Ruiz Pacheco, Microsoft Senior Technology Evangelist

NetworkUrl
Twitterhttps://twitter.com/JuanKRuiz
Facebookhttps://www.facebook.com/JuanKDev
LinkdInhttp://www.linkedin.com/in/juankruiz
Bloghttps://juank.io

WPF es una parte del .Net Framework muy robusta, pero a veces necesitamos que nuestra aplicación interactúe con aspectos más nativos del sistema operativo donde se ejecuta. En estos casos requerimos el manejador (handle) de la ventana el cual no es expuesto por WPF.

Para obtenerlo debemos hacer uso de una clase utilitaria llamada WindowInteropHelper la cual tiene un elemento muy importante, la propiedad Handle que no es ni más menos que el manejador a la ventana de WPF. Su uso es muy sencillo:

C#

    Window miVentana = this;

    WindowInteropHelper interopHelper = new
    WindowInteropHelper(miVentana);

    IntPtr manejadorVentana = interopHelper.Handle;

Si requerimos el handler de una ventana WPF basta con hacer:

C#


    WindowInteropHelper interopHelper = new WindowInteropHelper(this);
    IntPtr manejadorVentana = interopHelper.Handle;

Ya teniendo el manejador de la ventana podemos acceder a muchas otras funcionalidades fuertemente atadas con el SO como por ejemplo las expuestas en Win32Api o equivalente en otras plataformas

© 2018 Microsoft