tengoCómo copiar colección observable
Observablecollection<A> aRef = new Observablecollection<A>();
bRef = aRef();
En este caso, ambos apuntan al mismo ObservableCollection
... ¿Cómo hago una copia diferente?
tengoCómo copiar colección observable
Observablecollection<A> aRef = new Observablecollection<A>();
bRef = aRef();
En este caso, ambos apuntan al mismo ObservableCollection
... ¿Cómo hago una copia diferente?
hacer esto:
// aRef being an Observablecollection
Observablecollection<Entity> bRef = new Observablecollection<Entity>(aRef);
Esto creará una colección observable pero los elementos siguen apuntando a los elementos originales. Si necesita los elementos para apuntar un clon en lugar de los elementos originales, debe implementar y luego llamar a un método de clonación.
ACTUALIZACIÓN
Si intenta añadir a una lista y luego la colección observable tener la lista original, basta con crear la ObservableCollection pasando la lista original:
List<Entity> originalEnityList = GetThatOriginalEnityListFromSomewhere();
Observablecollection<Entity> bRef = new Observablecollection<Entity>(originalEnityList);
podría implementar ICloneable
interfaz en la definición de su entidad y luego haga una copia del ObservableCollection
con un molde interno. Como resultado, tendrá un clon List
sin ninguna referencia a los elementos anteriores. Posteriormente, se podría crear su nueva ObservableCollection
ápice el clonado List
public class YourEntity : ICloneable {
public AnyType Property { get; set; }
....
public object Clone()
{
return MemberwiseClone();
}
}
La implantación se hará
var clonedList = originalObservableCollection.Select(objEntity => (YourEntity) objEntity.Clone()).ToList();
ObservableCollection<YourEntity> clonedCollection = new ObservableCollection<YourEntity>(clonedList);
Gracias ... Pero mi verdadero problema es que tengo una colección observable ... Al agregar un nuevo item to it ... no se refleja en UI. Entonces, lo que estoy haciendo ahora es copiar toda la colección a una colección temperory ... luego agregar un nuevo elemento a la colección temporal. A continuación, vuelva a asignar la colección temporal. – Relativity
He actualizado. – Aliostad
Pero tengo una colección observable como entrada. Es decir .... Tengo una colección observable de 120 artículos ... Agrego un nuevo artículo. Ahora tiene 121 artículos ... Entonces la IU debería mostrar 121 artículos – Relativity