Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/06/2012, 05:00
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Silverlight: ComboBox Binding, actulizar propiedad de modelo al cambiar el

Si, si establecí el NotfiyPropertyChanged.

Creo que el problema está directamente en que no se admite un enlace a una "Propiedad Compleja". En mi último POST te dije que me funcionaba al cambiar el elemento del combo, la notificación de cambio en el objeto.

Pero parece que se "pierde el binding" cuando cambio toda la "propiedad compleja" (Llamo propiedad compleja a la propiedad PersonType).

Es decir...

Cuando tengo esto:
Código XML:
Ver original
  1. <ComboBox Height="23" HorizontalAlignment="Left" Margin="80,215,0,0"
  2.                  ItemsSource="{Binding PersonTypeModelList, Mode=OneWay}"
  3.                  SelectedValuePath="Code"
  4.                  DisplayMemberPath="Description"
  5.                  SelectedValue="{Binding ElementName=dataGrid1, Path=SelectedItem.PersonType.Code, Mode=TwoWay}"
  6.                  Name="comboBox1" VerticalAlignment="Top" Width="139">
  7. </ComboBox>

Si voy cambiando de registros en el DataGrid, en el combo también se cambia correctamente. Y cuando cambio el elemento en el Combo, se actualiza correctamente la propiedad Code, del PersonType (Que pertenece, como propiedad, a un objeto del tipo PersonModel), pero no la propiedad Description. Es decir, lo hace a medias.


Sin embargo, cuando hago lo que me dijiste en el último POST pasa lo contrario:
- El combo esta cargado, pero segun navego por los registros del DataGrid el combo no va autoseleccionando la propiedad que le corresponde, respecto al registro seleccionado.
- Sin embargo, si selecciono una fila del DataGrid, y luego selecciono una de las opciones del Combo, el objeto del DataGrid actualiza correctamente la propiedad PersonType con el elemento que seleccione en el combo.

Vamos, un lio, me parece. Voy a ver si puedo subir unas imágenes y las pongo, para explicarme mejor todavía.

Gracias por tu tiempo alex, y gracias por lo de poner el código bonito, así ayuda más ;)
__________________
Charlie.