Cómo tener un enlace bidireccional con un ObservableCollection de objetos EF
Frecuentes
Visto 358 veces
1
Hice una cuadrícula de datos que tiene como fuente una colección ObservableCollection de objetos del marco de la Entidad. El Datagrid se llena bien. Cuando edito una fila, no veo que el modelo cambie con el depurador o en la base de datos cuando guardo con un botón Guardar.
Aquí está mi código XAML.
<Window.DataContext>
<ViewModels:BicycleViewModelCollection />
</Window.DataContext>
<DataGrid AutoGenerateColumns="True" ColumnWidth="*" ItemsSource="{Binding Bicycles, Mode=TwoWay}" SelectionUnit="FullRow"/>
ViewModelCollection
/// <summary>
/// Collection of BicycleViewModel
/// </summary>
public class BicycleViewModelCollection
{
/// <summary>
/// Initializes a new instance of the <see cref="BicycleViewModelCollection"/> class.
/// </summary>
public BicycleViewModelCollection()
{
var bicycleShop = new BicycleShop();
bicycleShop.Bicycles.Load();
this.Bicycles = bicycleShop.Bicycles.Local;
}
/// <summary>
/// Gets or sets the bicycles.
/// </summary>
/// <value>
/// The bicycles.
/// </value>
public ObservableCollection<Xav.Entity.Models.Bicycle> Bicycles { get; set; }
}
Tenga en cuenta que uso la propiedad Local. No sé si esto es malo o no.
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# wpf binding two-way-binding or haz tu propia pregunta.
¿Ha hecho clic fuera de la fila después de realizar el cambio? UpdateSourceTrigger=PropertyChanged (dentro de la declaración vinculante) podría ayudar. - Kevin DiTraglia
@KDiTraglia Gracias. Desafortunadamente, UpdateSourceTrigger es por defecto PropertyChanged. Lo probé y no parece afectar el resultado. - Xavier