Tengo una matriz bool de tamaño 4 y quiero vincular cada celda a un control diferente. Esta matriz bool representa 4 estados (falso = error, verdadero = éxito). Esta matriz bool es un Propery con una clase:Cómo lograr la funcionalidad INotifyPropertyChanged para los valores en un bool []?
class foo : INotifyPropertyChanged {
...
private bool[] _Statuses;
public bool[] Statuses
{
get {return Statuses;}
set {
Statuses = value;
OnPropertyChanged("Statuses");
}
}
En XAML hay 4 controles, cada uno unido a una célula de la matriz:
... Text="{Binding Path=Statuses[0]}" ...
... Text="{Binding Path=Statuses[1]}" ...
... Text="{Binding Path=Statuses[2]}" ...
... Text="{Binding Path=Statuses[3]}" ...
El problema es que la notificación de eventos es planteado solamente cuando cambio la matriz en sí y no se eleva cuando cambio un valor dentro de la matriz, es decir, la próxima línea de código genera el evento:
Statuses = new bool[4];
pero la próxima línea no plantea la incluso t:
Statuses [0] = true;
¿Cómo puedo plantear el evento cada vez que se cambia una celda?
Sí, utilizando ObservableCollection será la forma más sencilla de ir. –
'ObservableCollection' no notifica cuando se cambia un valor de cualquier elemento dentro de él. –
decyclone
@decyclone: notifica si el n-ésimo elemento de la colección se mueve, reemplaza, etc., que es lo que hace el código del OP. Tiene razón en que esto no manejará el caso en el que T tiene propiedades y no implementa INotifyPropertyChanged, pero lo consideré fuera del alcance de la pregunta. –