none
Enlace a un programa WPF que utilice MVVM RRS feed

  • Pregunta

  • me gustaría poder ver un programa de gestión básico que realice lecturas y grabación de datos, con ADO 4,  ¿conocéis algún enlace a una aplicación de ejemplo que trabaje con base de datos y haga el control de cambios ?

    un saludo

    viernes, 29 de mayo de 2015 12:05

Respuestas

  • hola

    >>Esto dispara un evento que resuelves mediante un comando del ViewModel al que le tienes que pasar la Id del cliente, pues no veo la forma de que el comando transmita el Id.

    es que no deberias transmitir el id, sino la entidad completa en el parametro del command

    imagino esta pregunta surge de la enterior

    WPF CON MVVM RECOGER PARAMETROS DESDE COMANDOS

    define el parametro del command como object y valida que entidad recibes, despues casteas y accedes a la entidad o alguna propiedad en concreto en caso de necesitarlo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta fjjcent viernes, 29 de mayo de 2015 20:54
    viernes, 29 de mayo de 2015 17:00

Todas las respuestas

  • hola

    no entendi lo de ADO 4, que seria ?

    que seria el "control de cambios"?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 29 de mayo de 2015 12:22
  • Mi programa es un programa  que utiliza WPF con el modelo MVVM y con entity Framework Code First, es decir utilizando DBContext, y en el ViewModel implemto INotifyPropertyChange para que los cambios e ViewModel pasen a la Vista.

    Lo que pretendo conseguir es una navegación en los dos sentidos de forma transparente, es decir que si en la vista cambio un control unido al ViewModel por un Binding este cambio se transmita al ViewModel y desde este al Modelo y lo mismo si cambia en el Modelo (BD con DBContext)  se transmita al ViewModel y de ahí a la vista pero no encuentro ningún ejemplo que implemente algo parecido solo encuentro ejemplos demasiado sencillos por la red y ninguno que haga algo semejante.

    un abrazo

    viernes, 29 de mayo de 2015 12:56
  • hola

    un punto que marcaria es que al ingresar un valor en un textbox de la view este imactara sobre el viewmodel y puede que esto no realice la modificacion del dbcontext de EF directamente hasta que no confirmes la operacion usando el AcceptChange() del contexto

    desde el lado del xaml en el Binding deberias definir el Two-way

     Two-Way Databinding in WPF

    Data Binding Overview

    pero si cambias algo desde codigo y quieres reflejarlo en la view debes ejecutar el NotifyPropertyChange() por cada propiedad que cambias en el viewmodel

    How to: Implement Property Change Notification

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 29 de mayo de 2015 15:39
  • La lógica la veo a medias, si veo que cuando hago una operación en un TextBox enlazado mediante Binding a una propiedad del ViewModel efectivamente la propiedad del ViewModel adquiere el valor de la caja de texto, pero el problema es cuando por ejemplo si tienes un datagrid en  la vista y al pulsar sobre una fila del Grid,  se supone que has elegido un cliente y quieres ver todos sus datos. Esto dispara un evento que resuelves mediante un comando del ViewModel al que le tienes que pasar la Id del cliente, pues no veo la forma de que el comando transmita el Id.

    Por otra parte cuando haces una consulta por ID de algo , esta consulta corresponderá a un método del ViewModel, y obtienes los datos por Linq sobre el DBSet, pero como haces que las propiedades públicas del ViewModel, que son las que están enlazadas a la View adquieran los valores de la consulta LINQ, ¿existe alguna forma de asociarlo sin tenerlas que igualar una a una.

    Creo que algunos automatismos  se me escapan.

    Un saludo

    viernes, 29 de mayo de 2015 16:52
  • hola

    >>Esto dispara un evento que resuelves mediante un comando del ViewModel al que le tienes que pasar la Id del cliente, pues no veo la forma de que el comando transmita el Id.

    es que no deberias transmitir el id, sino la entidad completa en el parametro del command

    imagino esta pregunta surge de la enterior

    WPF CON MVVM RECOGER PARAMETROS DESDE COMANDOS

    define el parametro del command como object y valida que entidad recibes, despues casteas y accedes a la entidad o alguna propiedad en concreto en caso de necesitarlo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta fjjcent viernes, 29 de mayo de 2015 20:54
    viernes, 29 de mayo de 2015 17:00
  • algo como CommandParameter="{Binding}" y como recoges en el ViewModel el contexto y luego extraes el Id de la fila del Grid no lo veo claro, ¿podrias escribir el código ?

    un saludo

    viernes, 29 de mayo de 2015 17:06
  • A menos de que el evento del Grid se resuelva en la View pero entonces ya no estamos haciendo MVVM

    un saludo

    viernes, 29 de mayo de 2015 17:08