[email protected]

Asunción, PARAGUAY

Ingeniería y desarrollo de software, emprendimiento, cursos

25 de julio de 2017

Incrustar un formulario de Windows en una aplicación WPF

.NET

Formularios Windows

Se refieren a las antiguas aplicaciones ejecutadas sobre el sistema operativo Windows con una interfaz de usuario interesante pero aburrida donde no se puede salir del esquema impuesto por la plataforma.

WPF

Windows Presentation Foundation se refiere a la evolución de los formularios Windows en donde la interfaz de usuario puede ser creada a gusto del desarrollador/diseñador.

¿Cómo introducir un formulario Windows dentro de WPF?

De manera sencilla lo podemos hacer utilizando un control especializado para tal efecto el cual se denomina WindowsFormsHost, que permite introducir un formulario Windows dentro de una aplicación WPF con fines de reutilización del mismo.

Agregamos referencias a WindowsFormsIntegration y System.Windows.Forms:




Agregamos el código XAML necesario para la integración y adicionamos el control WebBrowser:
<Window x:Class="EjemploWindowsFormsHost.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:EjemploWindowsFormsHost"
        mc:Ignorable="d"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <WindowsFormsHost Name="wfh1">
            <WindowsFormsHost.Child>
                <wf:WebBrowser />
            </WindowsFormsHost.Child>
        </WindowsFormsHost>
    </Grid>
</Window>
using System.Windows;

namespace EjemploWindowsFormsHost
{
    /// 
    /// Lógica de interacción para MainWindow.xaml
    /// 
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            (this.wfh1.Child as System.Windows.Forms.WebBrowser).Navigate("https://www.cmasdev.net");
        }
    }
}

Hey, we've just launched a new custom color Blogger template. You'll like it - https://t.co/quGl87I2PZ
Suscribíte al boletín