Quiero crear usando la ventana C#
con el elemento primario establecido en mi identificador definido, este es otro manejador de ventana de proceso.C# Ventana de creación - Definición de la ventana principal
¿Alguien sabe cómo hacer esto?
Saludos,
Quiero crear usando la ventana C#
con el elemento primario establecido en mi identificador definido, este es otro manejador de ventana de proceso.C# Ventana de creación - Definición de la ventana principal
¿Alguien sabe cómo hacer esto?
Saludos,
Si he entendido bien su pregunta debe ser capaz de lograr lo que desea mediante el uso de algo como esto:
class Win32Window : IWin32Window
{
IntPtr handle;
public Win32Window(IntPtr handle) { this.handle = handle; }
public IntPtr Handle
{
get { return this.handle; }
}
}
static void Main()
{
IntPtr targetParent = // Get handle to the parent window
new MainForm().ShowDialog(new Win32Window(targetParent));
}
Esto a su vez MainForm
una ventana secundaria de la toma de ventana especificada siempre aparece arriba. Yo uso ShowDialog
en el ejemplo, pero esto también debería funcionar para Show
. Esto es específico para Windows Forms.
En WPF puede probar lo siguiente:
var helper = new WindowInteropHelper(/* your Window instance */);
helper.Owner = // Set with handle for the parent
rápidamente me probamos este después de mostrar la ventana de WPF y parece que ha funcionado como se esperaba, pero el conocimiento de WPF no es tan grande.
Creo que la Manija será de solo lectura; por lo tanto, la propiedad .Parent
es de solo lectura. Sin embargo, la propiedad .Owner
tiene un getter y un setter (ref. MSDN) ... sin embargo, debe tener una referencia a la ventana principal.
Sin más información, no podré proporcionar mucho más que eso.
Si los padres su candidato es un administrado ventana, active esta link.
Ok, intentaré esto, pero ... ¿esto es imposible para la clase Window? Ya tengo un código basado en Windows con XAML. – Svisstack
Supuse Windows Forms, por lo que esto no sería aplicable para una ventana de WPF. –
Actualicé la respuesta con una posible solución en WPF, pero no hago ninguna garantía ... :) –