none
Parametros en constructor de ViewModel RRS feed

  • Pregunta

  • Bueno tengo un problemita, que hasta ahora no molestaba. Tengo un formulario en WPF, que es de alta de empleado, por supuesto, que uso el mismo formulario para la edición salvo que se muestran menos campos, esta todo bindiado, hasta ahi todo perfecto. En el archivo .xaml.cs del formulario, tengo 2 constructores. Uno es para cuando quiero dar de alta y el otro para cuando quiero modificar, la diferencia que al segundo le paso como parámetro un empleadoSeleccionado

            

    private readonly EmpleadoViewModel _empleadoVm;

    public AltaModificacionEmpleado() { InitializeComponent(); _empleadoVm = (EmpleadoViewModel) DataContext; _empleadoVm.IsModoAlta = true; _empleadoVm.TituloVentana = "Alta de empleado"; _empleadoVm.Empleado = new Empleado(); } public AltaModificacionEmpleado(Empleado empleadoSeleccionado) { InitializeComponent(); _empleadoVm = (EmpleadoViewModel) DataContext; _empleadoVm.Empleado = empleadoSeleccionado; _empleadoVm.TituloVentana = "Editar empleado"; _empleadoVm.Cerrar = Close; }

    Yo necesito pasarle algunos parametros al momento de crear el DataContext, porque entre la creacion del DC y la primer propiedad, XAML se encarga de ciertas cosas que tengo que controlar con esos parametros que necesito pasarle. Gracias!


    • Editado avechuche jueves, 11 de junio de 2015 8:44
    jueves, 11 de junio de 2015 4:19

Todas las respuestas

  • hola

    necesito pasarle algunos parametros al momento de crear el DataContext

    si el datacontext lo asignas desde codigo en el constructor de la view podrias pasarle ese valor

    o sea si haces

    public class Window1 {
    
        public Window1(int idEmpleado){
    
           this.DataContext = new ViewModel1(idEmpleado);
    
        }
    
    }


    por lo general lo que se pasa es el id del empleado

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 15 de junio de 2015 16:58
  • Si utilizas MVVM ¿Por qué no le pasas por XAML el CommandParameter a tu Command y directamente obtienes el valor y realizas cualquier acción que necesites?

    Saludos


    Christian Amado
    Software Engineer | MCPD: Windows Phone Developer | MCTS: Silverlight Developer
    Don't forget to mark the right answer and vote up if helps you.
    MCP Profile
    My code samples

    lunes, 15 de junio de 2015 17:26