La diferencia entre Winform y WPF y el uso específico de WPF
El control WinForm proporciona una propiedad InvokeRequired para determinar si el hilo actual es el hilo que creó el control. Una vez creado el control, InvokeRequired es eficiente y seguro. Sin embargo, InvokeRequired puede tardar mucho tiempo si el control de destino aún no se ha creado (el objeto C# ya existe, pero el identificador de la ventana subyacente aún está vacío). (Atraviesa el árbol de control de abajo hacia arriba hasta que encuentra un control principal que puede alojar el control y que ha sido instanciado y creado, asegurando así que el control secundario se cree en el mismo hilo que el control principal). Una vez que se encuentra un control principal adecuado, el marco realiza la misma verificación, comparando la ID del hilo actual con la ID del hilo que creó el control principal (consulte la Sección 2.2.2). Si el marco no puede encontrar ningún formulario principal que se haya creado, necesitará encontrar otro tipo de formulario. Si no se encuentra ningún formulario disponible en la jerarquía, el marco comienza a buscar una ventana de estacionamiento para que no se vea afectado por el comportamiento extraño de algunas API de Win32. En resumen, cuando realiza ciertos cambios en el formulario (como modificar algunos estilos), debe destruir el formulario y luego volver a crearlo. Un formulario provisional se utiliza para guardar temporalmente controles en un formulario principal mientras el formulario principal se destruye y se vuelve a crear. Durante este tiempo, el subproceso de la interfaz de usuario solo se ejecuta en el formulario preparado.
Normalmente, una aplicación WPF se inicia con dos subprocesos: uno para manejar el renderizado y otro para administrar la interfaz de usuario. El hilo de renderizado en realidad se ejecuta oculto en segundo plano, mientras que el hilo de la interfaz de usuario recibe entradas, maneja eventos, dibuja en la pantalla y ejecuta el código de la aplicación.
WPF es la abreviatura de Windows Presentation Foundation. Su nombre en clave original era "Avalon". Debido a que tiene las mismas iniciales en pinyin que "Estoy impresionado", algunas personas en China lo llamaron en broma "Estoy". impresionado". Estoy impresionado". WPF es el sistema de gráficos de nueva generación de Microsoft. Se ejecuta bajo la arquitectura .NET Framework 3.0 y proporciona una descripción y un método de operación unificados para interfaces de usuario, gráficos 2D/3D, documentos y medios. WPF basado en la tecnología DirectX 9/10 no sólo ofrece una interfaz 3D sin precedentes, sino que su motor de renderizado de gráficos vectoriales mejora enormemente la interfaz 2D tradicional. Por ejemplo, el efecto de forma translúcida en Vista se beneficia de WPF. Con la ayuda de WPF, los programadores ya no pueden desarrollar una interfaz atractiva comparable a los programas de Mac. WPF tiene el marco de interfaz de usuario .NET, gráficos vectoriales integrados, soporte de texto de flujo enriquecido, efectos visuales 3D y un potente marco de modelado de control.