none
Acceso a las propiedades de las columnas de un DataGrid RRS feed

  • Pregunta

  • Hola, estoy utilizando un DataGrid en mi proyecto que está ligado a una Lista de Socios y pinta los socios sin ningún problema, pero le quiero ligar funcionalidades en el ViewModel ligado directamente a las propiedades de las columnas.

    Se que poniendo el SelectedItem apuntando a una propiedad en el ViewModel accedo al Socio Elegido pero yo quiero llegar mas lejos y que se activen propiedades para las columnas, por ejemplo crear una propiedad Nombre en el ViewModel que se corresponda con la propiedad Nombre de la columna del DataGrid y que al seleccionar una fila pueda desde esta propiedad ligar algún automatismo sin tener que analizar al socio completo desde SocioSel, os pongo el código a ver que tengo que añadir para que se acceda a Nombre al pulsar en una fila

    <DataGrid  AutoGenerateColumns="false"  SelectedItem="{Binding SocioSel}" ItemsSource="{Binding ListadeSocios}" >
          <DataGrid.Columns>
                <DataGridTextColumn Header="Nombre" Binding="{Binding Nombre}" Width="1*" />
                <DataGridTextColumn Header="Apellido" Binding="{Binding Apellidos}" Width="1*" />
                <DataGridCheckBoxColumn IsThreeState="False" Header="asiste" Binding="{Binding asiste}"  Width="0.30*" />
          </DataGrid.Columns>
    </DataGrid>

    y en el ViewModel

     public string Nombre  {
                get { return _nombre; }
                set {
                    _nombre = value;
                    NotifyPropertyChanged("Nombre");
          } }

    un saludo

    lunes, 7 de septiembre de 2015 18:39

Todas las respuestas

  • hola

    >>que al seleccionar una fila pueda desde esta propiedad ligar algún automatismo sin tener que analizar al socio completo desde SocioSel

    que clase de automatismo ?

    quizas para un mayor control de los eventos deberias evaluar usar el EventTrigger

    Handling DataGrid.SelectedItems in an MVVM-friendly manner


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 9 de septiembre de 2015 14:54
  • si quiero que en algún campo booleano o que especifique un tipo de usuario o algo así en la propiedad a la que esté ligada la columna pretendo que se activen/desactiven algunas propiedades ligadas a determinado tipo, por ejemplo si en un formulario hay preguntas ligadas al sexo o la nacionalidad, que el la propiedad SEXO del ViewModel al seleccionar una fila automáticamente se activen algunas características de la siguiente pantalla a través de propiedades booleanas en el ViewModel de esa pantalla.

    un saludo

     
    jueves, 10 de septiembre de 2015 12:11