none
Pasar objetos entre clases RRS feed

  • Pregunta

  • Bueno soy nuevo en C# y estoy trabajando en un programa que funciona de la siguiente manera:
    1- Un MainWindow cuyo objetivo es representar una serie de funciones graficas.
    2- Un Panel con botones, textbox y demás, que permitirá al usuario dar valores para dichas gráficas.

    3- Una clase "Polinomio" que contendrá todos los valores de dicha gráfica(lista de puntos, color, valor de los parámetros, etc.)

    Necesito saber como enviar los datos que el usuario ha insertado en los textbox del Panel al MainWindow, para que éste pueda crear el Polinomio con los valores seleccionados.

    Igual es más facil de lo que pienso y me estoy haciendo un lio pero...

    Gracias de antemano ;-)

    viernes, 28 de diciembre de 2012 19:50

Todas las respuestas

  • hola

    de casualidad estas programando usando WPF ? porque por lo que mencionas de MainWindow me suena a un window de wpf

    si usas wpf de casualidad implementa algun patron como ser MVVM

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 28 de diciembre de 2012 20:03
  • Si estoy usando WPF, lo siento por no mencionarlo... ^^u
    En efecto quiero implementar un MVVM pero no estoy seguro de ocmo hacer la parte que me falta.

    Soy estudiante y es la primera vez que me encaro con un programa de este tipo. No pido que me den un código que me lo resuelva, si no unos pasos generales o al menos saber por donde tirar. Proble haciendo bindings desde el Panel al MainWindow pero no conseguía dar con la solución...

    viernes, 28 de diciembre de 2012 20:19
  • Encontré una "solución" no se si será muy chapuzas pero funciona.

    Con un delegado y su evento correspondiente ejecuto el método que añade la grafica al canvas en el MainWindow, pero desde el Panel. Si le paso el propio Panel como argumento cuando llamo a ese método entonces ya está solucionado ^^.

    Si hay otra manera de hacerlo me gustaría conocerla igualmente.
    Gracias ^^
    • Propuesto como respuesta David_González jueves, 3 de enero de 2013 15:42
    sábado, 29 de diciembre de 2012 16:40
  • hola nexiss.

    Bueno, no comentas donde esta el panel, si el panel esta en la propia MainWindow, no hay ningun problema para la comunicacion, supongo que esta en otra ventana, pero si es asi deberias de comentarlo.

    formas hay muchas, la que propones es una solucion un poco chapuzera (perdon por la expresion;), si es una aplicacion para probar algo rapido y solo tiene que hacer eso, pues adelante, pero no esperes ampliarla usando esa metodologia. Como indica Leandro, lo mas correcto es implementar MVVM, si vas a continuar programando en WPF deberias de mirarlo.

    Yo el problema que veo es la mezcla de conceptos, comentas que la clase polinomios tiene (listas de puntos, colores, valores), esto es un planteamiento incorrecto, y segun el principio de responsabilidad unica, no deberia ser asi. En grandes rasgos y si trabajas con WPF tienes siempre que separar como minimo entre 2 tipos de objetos, los visuales y los datos y en este caso la clase polinomio deberia tener solo los datos del polinomio, el como se muestren esos datos es otra historia, luego si quieres encapsular la visualizacion pues ya creas otra clase que haga referencia a polinominio.

    Si sigues la estrategia marcada, tendras los datos por un lado y los podras mover por toda la arquitectura de tu aplicacion de forma sencilla y luego tendras la visualizacion que no hay que moverla, ya que la visualizacion solo la va representar una ventana


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/

    miércoles, 2 de enero de 2013 9:33
  • Muchas gracias, como comenté soy estudiante y supongo que necesito depurar mucho mi estilo de programación.
    El programa es un trabajo que he de entregar y no necesitará más ampliaciones una vez haya terminado, y en él se me exigen el uso de delegados así que supongo que con esto bastara.

    Gracias por todo. ^^
    jueves, 3 de enero de 2013 13:31