Acceder a propiedades de un form desde otro.

Iniciado por Hadess_inf, 11 Agosto 2008, 02:52 AM

0 Miembros y 1 Visitante están viendo este tema.

Hadess_inf

Bueno quisiera saber si alquien me hecha una mano que deseo acceder a las propiedades de Form1 desde Form2, todo desde WPF. Gracias de antemano. Saludos.

Meta

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Hadess_inf


sangano

Hola, no  si eso se podra hacer, cuando trabajas con WPF, ya no usas WinForms, es uno o el otro, ahora, si explicas o mustras algo de lo que estas haciendo, si es por el xaml o por el C#, seria mas facil ayudarte.

sangano

Cita de: sangano en 11 Agosto 2008, 16:05 PM
Hola, no  si eso se podra hacer, cuando trabajas con WPF, ya no usas WinForms, es uno o el otro, ahora, si explicas o mustras algo de lo que estas haciendo, si es por el xaml o por el C#, seria mas facil ayudarte.
Tirando una respuesta el vuelo, puede que te sirvan las DependencyProperty, revisa sobre eso, pero de igual forma explica mas o muestra lo que estas haciendo.

saludos.

Hadess_inf

Tengo un WinForm llamado frm_form1 y tengo un WPFForm llamado wpf_form1. En el form wpf tengo un boton, al dar click en el, se debe de cambiar el backgroundimage del frm_form1, No esta de mas decir que el wpf_form1 se abre desde un boton en el frm_form1.

Saludos.

sangano

Es necesario hacer eso?, por que quieres llamar desde un winform una ventana WPF, como te dije anteriormente un WinForm y una ventana WPF son cosas totalmente diferente y para poder tener este tipo de comunicacion es mas complicado de hacer, es preferible que veas la forma de cambiar tu WinForm por algo nativo WPF. Si aun quieres hacerlo tienes que empezar a hacer "host" de la aplicacion WPF en la del WinForm para que te pueda funcionar, lee estas paginas.
http://weblogs.asp.net/jdanforth/archive/2008/07/29/open-a-wpf-window-from-winforms.aspx
http://msdn.microsoft.com/en-us/library/ms742474.aspx
http://forums.msdn.microsoft.com/en-US/wpf/thread/442782b1-00a1-4e2e-9cc6-ae99b6699126/

Es recomendable no tratar de mezclar estos dos,  WPF es lo suficente completo para poder igualar las mismas cosas que se hacian en un WinForm.

Por WPF cuando haces this en la ventana existe una propiedad que es Owner, creo que esta tiene una referencia, si es que la hay, algun tipo de objeto o control que llamo la ventana, ahora, hay que ver si esto te sirve, segun lo que te he dicho.

espero que te sirva, saludos.

Hadess_inf

Gracias por las referencias pero aun sigo sin poder hacer lo que necesito. Pues bien si no puedo hacer esto entonces quizas me digas como hacer esto pero entre 2 formularios wpf, gracias.

sangano

Ya en WPF es mas facil de hacer, creo. En el evento que llame la segunda ventana o formulario, algo asi:
Código (csharp) [Seleccionar]

//evento de boton por ejemplo.
void AbreFormulario(object sender, RoutedEventArgs e)
{
   //esto podrias ver si te funciona con la informacion que te pase anteriormente.
    ventana2.Owner = this;
    ventana2.Show();
}


Entonces ya en la segunda ventana cuando selecciones el boton para cambiar el fondo o lo que quieras hacer sobre la primera ventana.

Código (csharp) [Seleccionar]

void CambiaAlgoDeLaPrimera(object sender, RoutedEventArgs e)
{
    Window ventana1 = this.Owner;
   ventana1.Background = new SolidColorBrush(Colors.Red);
}


En la variable ventana1 tendras acceso a todas las propiedades y metodos publicos de esta clase.

Lo de colocar una imagen en el fondo, no lo  he probado, pero no creo que te complique mucho hacerlo, en el ejemplo cambia el color del fondo.

ojala te sirva.

Hadess_inf

Se agradece la respuesta, que llegue hoy a mi casa lo pruebo y te comento como me fue. Busque por todo el internet y no encontre nada de lo que me acabas de decir en fin, quizas o puse palabras clave. Gracias nuevamente y un saludo.

En la noche regreso con noticias.